可能重复:
C++ Header order
我的问题是关于包含在.h文件中。是否最好首先包括所有标准标题,如 iostream ,并且只有在所有用户头文件之后,反之亦然?我用谷歌搜索了一段时间,但没有找到任何建议。
答案 0 :(得分:7)
这是个人选择,我按照以下顺序使用它:
<standard headers>
<platform headers>
<project headers>
答案 1 :(得分:2)
我个人的偏好是自下而上。因此,首先是特定于平台的头文件,然后是C ++标准头文件,然后是核心库(如boost),然后是更高级别的库(如数据库),然后是项目特定的头文件。
答案 2 :(得分:0)
*.cc
文件应该首先#include
系统标题,然后是用户的标题(否则系统库和您自己的代码之间的名称冲突会有奇怪的行为;但是你应该避免这种冲突)。但是您可以将所有#include
放在头文件中。
您可以决定使用单个用户标头,其中包含应用程序所需的系统标头的所有#include
;当在Linux上使用GCC进行编译时,这有助于预编译头文件。请参阅this answer。
答案 3 :(得分:0)
答案 4 :(得分:0)
包括的顺序并不重要,您可以从任何您想要的开始,也可以结束。
我不知道我是否正确回答,这就是我所理解的......