c++ - 头文件中的源代码

标签 c++ c

如果我在头文件中包含源代码(例如定义函数、类等)会不会很糟糕?我读到不建议这样做,但这样做也完全没问题......有正确的答案吗?

最佳答案

未标记为内联的函数不能进入 header ,因为如果它们在程序中包含两次,链接器会给您一个错误。请注意,类内的方法被视为内联。

只要您只使用模板和内联代码,您就可以将代码放在 header 中。但是,对于包含它的每个源文件,它都会编译一次,从而减慢构建速度。您可以使用预编译 header 来抵消此问题,然后唯一真正的缺点是缺乏良好的“部分”构建,但构建整体性能良好。

所以它实际上归结为编译时间,我认为预编译头可以在很大程度上抵消负面影响。但很多时候我仍然更喜欢正确的源文件。

关于c++ - 头文件中的源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30408549/

相关文章:

c++ - 从 std::tuple 成员中移除引用

c++ - 使用链表在 C++ 中实现邻接表

c - 如何在编译时检测 long double 是否具有扩展精度

指针可以存储值吗?void 指针有什么用?

c - 读取 fat16 img 文件内存位置的值

c++ - 在 C++ Eclipse 中未定义对(错误)的引用,但在 Visual Studio 2015 中工作

c++ - 如何删除 : from string and get other elements?

c++ - C++ 的跨平台 sleep 功能

c - 使用指针在c中打印字符串

c - ReadDirectoryChangesW 不报告上次写入事件