Heim > Fragen und Antworten > Hauptteil
当类的声明文件中使用模板时,主函数所在文件的头文件引用是
#include"***.cpp"
而当没有使用模板时,头文件引用为
#include"***.h"
其中.cpp和.h分别为类的实现以及声明文件,请问这其中的原理是什么?
三叔2016-11-16 13:31:36
<p>如果因为有模板,导致声明和定义无法分离,建议使用.hpp作为扩展名,和普通代码.cpp区分开来。因为普通.cpp没有防止重复包含的机制。这些都是为了人分类管理,对于预处理器来说include就是简单地展开那个文件的内容</p>
欧阳克2016-11-16 13:31:25
<p>模板的声明和实现没办法分离,所以要把两者一股脑塞进.cpp文件里</p><p>就语法角度当然也可以选择一股脑放进.h文件里。不过因为.h文件在通常情况下意味着“纯粹”的类声明,所以这种情况下并不是很适合</p><p>对于include指令来说,.cpp文件和.h文件并没有区别,因为include只是把相应文件的内容文本替换到了include所在的位置</p><p>ps:.cpp文件是c++的源代码文件,跟c语言毫无关系</p><p><br/></p>
三叔2016-11-16 13:31:14
<p>.h 大多数用来些头文件 .cpp用来写具体实现 或者你装个vc++ 6.0 创建新文件 里 对文件类型的描述 会不会更清楚一些</p>