可能重复: In C++ why have header files and cpp files? C++ - What should go into an .h file?
通常在.cpp文件中定义的所有函数/方法都可以在.h文件中内联定义。那么,使用.cpp的原因是什么呢?有效?编译时间?
是否有一些标准可以保留在.h中,哪些应该进入.cpp?
谢谢。
发布于 2012-09-20 12:36:01
相关内容
基本上,编译器能够编译所有文件,而不管您将所有代码放入.h或.cpp文件中。他们之间的分离有着根本的好处
发布于 2012-09-20 12:35:49
发布于 2012-09-20 12:37:14
你不能把所有的东西都插进去。对象可以定义一次,而且只能定义一次。只有类和模板可以多次定义,内联只允许重新定义函数。
例如,考虑header.hpp:
extern int a;
struct Foo { static int b; };下列各项必须并入一个专门的单一翻译单位:
#include "header.hpp"
int a;
int Foo::b;另一方面,类模板的静态成员可以而且必须保留在标题中:
template <typename T> struct Foo { static int x; };
template <typename T> int Foo<T>::x;链接器必须弄清楚如何将对象惟一化。
https://stackoverflow.com/questions/12512598
复制相似问题