头文件在编译中的作用?

时间:2014-01-13 13:02:57

标签: c++ compilation header-files

我们在练习论文中被问到一个问题'头文件在编译中的作用是什么?在此上下文中使用的标题保护是什么?'

头文件将包含可能包含在.cpp实现中的类的任何声明。我理解通过在实现或其他头文件中包含头文件,该代码可以在不知道其实现的情况下知道该类的所有可能成员。

通过StackOverflow进行了一些阅读后,有人建议头文件可能会减慢编译速度(Coding C++ (mostly) in header files vs .cpp files),而对头文件的更改则需要完全重建所有实现,而更改时实现不需要完整重建头文件及其所有实现。

这些准确吗?是否有任何理由认为头文件在编译中是有益的,它起什么作用?

非常感谢!

1 个答案:

答案 0 :(得分:0)

是的,虽然我会避免在代码文件中使用术语实现 - 人们可能会认为你正在讨论标题中类的实现,这可能会导致混淆。

此外,更改头文件不会导致您需要重建所有代码文件 - 只包括那些包含(直接或其他)所述头文件的文件。

哦,标题保护用于避免在给定的编译单元中包含两次相同的文件(导致重新定义事物)。