Redian新闻
>
mary ann liebertpub上的一篇文章 想下载
avatar
mary ann liebertpub上的一篇文章 想下载# Biology - 生物学
e*9
1
刚刚电面被击败。
其中的一个题目是
为什么STL的实现都放在.h文件里?
avatar
n*e
2
avatar
a*a
4
有人用嘛?好像只有它家有7寸的
可以设置成分屏,一边显示导航一边显示地图的么?
avatar
k*d
5
High efficiency of reprogramming CD34+ cells derived from human amniotic
fluid into induced pluripotent stem cells with Oct4.
google上搜出来唯一能下的地方就是mary ann liebert pub.
不知道有没有前辈有账号或者其他途径方便帮我下一下。
谢谢!
avatar
l*c
6
C++ template

【在 e****9 的大作中提到】
: 刚刚电面被击败。
: 其中的一个题目是
: 为什么STL的实现都放在.h文件里?

avatar
t*i
7
任何地方都会有残忍的人,不只国人。
我觉得我看开了,有些人就是变态,可是对于变态的人我们能怎么样呢?
对动物的保护,我们也只能做我们力所能及的事情,也不可能我们在网上抱怨,咒骂他
们,他们就会停手阿。
avatar
j*l
9
类模板的成员函数的定义必须放在头文件中
avatar
k*d
10
i did not see it till today.
but thank you very much for sharing
i will try that website.

【在 S*********s 的大作中提到】
: http://www.sendspace.com/file/m8vmbh
: it is free on liebertpub

avatar
A*e
11
My understanding is, the current coding infrastructure, i.e., high-level language source files --> obj/lib files --> executable files, does not support OO, and in particular, does not support template.
Under this infrastructure, if the implementation of STL were put in the .cpp files, which would be compiled to obj/lib files without any information from the users/caller of these STL class/functions, then the obj/lib files had to link to, and work correctly with the users/callers for all possible

【在 e****9 的大作中提到】
: 刚刚电面被击败。
: 其中的一个题目是
: 为什么STL的实现都放在.h文件里?

avatar
a*n
12
模板编译有两种方式inclusion model和 separation model, 放在.h 是inclusion
model, separation model 允许把实现放到cpp,不过非常复杂, 所以绝大多数
template 都是放到h文件中。
模板的编译 首先要生成代码,之后才是真正的编译。如果你的程序找不到定义, 那么
也没有办法做第一次生成。
avatar
l*n
13
我的理解是这样的:
简单的说,这是由于C++的编译方式和模板的特性导致的。
一个例子:test.cpp, template.cpp, template.h
=====================================
template.h
template
class Temp
{
private:
T _val;
public:
void setVal(T& val);
T& getVal();
};
=====================================
=====================================
template.cpp
#include "template.h"
template
void Temp::setVal(T& val)
{
_val = val;
}
template
T& Temp::getVal()
{
return _val;
avatar
l*c
14
correct,
"C++ does not have binary run-time extensibility, templates can't be linked
and distributed as a library. They must be compiled at compile time, and,
therefore, all implementations of a template algorithm must be included in
the header files in their entirety. You can easily see this by analyzing the
STL standard header files".

【在 l********n 的大作中提到】
: 我的理解是这样的:
: 简单的说,这是由于C++的编译方式和模板的特性导致的。
: 一个例子:test.cpp, template.cpp, template.h
: =====================================
: template.h
: template
: class Temp
: {
: private:
: T _val;

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。