C++头文件里编写实现代码

来源:互联网 发布:yum 安装vim 编辑:程序博客网 时间:2024/05/01 23:10

C里面一般是不允许把代码直接写在.h文件中的,但是在C++中则完全不一样:
1. 简单的代码鼓励写成inline并放在.h文件中,这样编译器可以将代码直接嵌入调用的部分、进行深层次优化并且减少调用开支。当编译器认为不适合inline时也可以自动处理。类中将实现直接写在类声明中的自动成为inline函数。
2. 模板类必须把代码写在.h中间,因为是到用时才编译的。

事实上现在的C++编译器完全可以自动处理类实现写入.h文件的情况,即使实现的成员函数前面是virtual之类不能inline的类型也不会有问题。最多只是降低编译速度而已。
综合来说最好的选择是复杂的代码写入.cpp,简单的、可以inline的代码写入.h实现成inline。

写入.h文件要考虑的另一个问题是如果你要将程序作为库发布出去,代码写在.h中会泄露你的代码,并可能影响将来的兼容性。

0 0
原创粉丝点击