C++ 头文件在编译中的作用?

C++ 头文件在编译中的作用?,c++,compilation,header-files,C++,Compilation,Header Files,在一篇实践论文中,我们被问到一个问题:“头文件在编译中的作用是什么?”?在这种情况下,头部防护装置的用途是什么?” 头文件将包含.cpp实现中可能包含的类的任何声明。我理解,通过在实现或其他头文件中包含头文件,代码可以知道类的所有可能成员,而不知道其实现 在对StackOverflow进行了一点阅读之后,一些人认为头文件可能会减慢编译速度,而对头文件的更改将需要对所有实现进行完全重建,而对实现的更改不需要对头文件及其所有实现进行完全重建 这些是准确的吗?是否有任何理由认为头文件在编译中是有益的,

在一篇实践论文中,我们被问到一个问题:“头文件在编译中的作用是什么?”?在这种情况下,头部防护装置的用途是什么?”

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

在对StackOverflow进行了一点阅读之后,一些人认为头文件可能会减慢编译速度,而对头文件的更改将需要对所有实现进行完全重建,而对实现的更改不需要对头文件及其所有实现进行完全重建

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


非常感谢

是的,尽管我会避免在代码文件中使用术语“实现”——人们可能会认为您谈论的是标题中类的实现,这可能会导致混淆

此外,更改头文件不会导致您需要重新生成所有代码文件,只需要直接包含或以其他方式包含所述头文件的代码文件


哦,头文件保护用于避免同一文件在给定的编译单元中被包含两次,从而导致重新定义。

搜索预处理器。正确的实现和构建系统不需要完全重新编译。那么,头文件对编译有何影响(如果有的话)?