使用仅由#include指令组成的头文件?

时间:2019-07-01 21:04:06

标签: c++ include header-files

我是C ++的新手,目前正在阅读一些具有多个头文件格式的代码:

#include <some standard library>
#include <some standard library>
...


#include <some third party library header>
#include <some third party library header>
...

#include <some internal header files>
#include <some internal header files>
...

没有其他。我真的不理解这些文件的用法,也不了解为什么要这样构造它们,因为我认为头文件带有类声明,这些类声明基本上由其他代码用来访问目标文件的接口组成。我认为程序员可能想将所有标头“打包”在一个大标头中,然后将其包含在内。这是个好主意还是最好避免使用这些“仅包含”标头?

1 个答案:

答案 0 :(得分:1)

这个想法是precompiled headers。 而不是将所有标头包含在所有编译单元中,而是仅包含一个文件,该文件在第一次解析后将被缓存。这样,为当前版本或下一个版本编译其余单元的速度就会更快。

因此,例如,您可以在Visual Studio中看到较大的PCH文件。典型的安装程序是stdafx.h,它包含在所有编译单元中,其中第一个生成预编译的标头,其他的则重用它。