C ++头文件包括组织

时间:2012-03-07 08:50:11

标签: c++ header-files

  

可能重复:
  C++ Header order

我的问题是关于包含在.h文件中。是否最好首先包括所有标准标题,如 iostream ,并且只有在所有用户头文件之后,反之亦然?我用谷歌搜索了一段时间,但没有找到任何建议。

5 个答案:

答案 0 :(得分:7)

这是个人选择,我按照以下顺序使用它:

<standard headers>
<platform headers>
<project headers>

答案 1 :(得分:2)

我个人的偏好是自下而上。因此,首先是特定于平台的头文件,然后是C ++标准头文件,然后是核心库(如boost),然后是更高级别的库(如数据库),然后是项目特定的头文件。

答案 2 :(得分:0)

*.cc文件应该首先#include系统标题,然后是用户的标题(否则系统库和您自己的代码之间的名称冲突会有奇怪的行为;但是你应该避免这种冲突)。但是您可以将所有#include放在头文件中。

您可以决定使用单个用户标头,其中包含应用程序所需的系统标头的所有#include;当在Linux上使用GCC进行编译时,这有助于预编译头文件。请参阅this answer

答案 3 :(得分:0)

已有一个关于此的话题:

C++ Header order

但总的来说,你必须确保标题顺序没有重要性。

答案 4 :(得分:0)

包括的顺序并不重要,您可以从任何您想要的开始,也可以结束。

我不知道我是否正确回答,这就是我所理解的......