如果我在头文件中包含源代码(例如定义函数、类等)会不会很糟糕?我读到不建议这样做,但这样做也完全没问题......有正确的答案吗?
最佳答案
未标记为内联
的函数不能进入 header ,因为如果它们在程序中包含两次,链接器会给您一个错误。请注意,类内的方法被视为内联。
只要您只使用模板和内联代码,您就可以将代码放在 header 中。但是,对于包含它的每个源文件,它都会编译一次,从而减慢构建速度。您可以使用预编译 header 来抵消此问题,然后唯一真正的缺点是缺乏良好的“部分”构建,但构建整体性能良好。
所以它实际上归结为编译时间,我认为预编译头可以在很大程度上抵消负面影响。但很多时候我仍然更喜欢正确的源文件。
关于c++ - 头文件中的源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30408549/