Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/124.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;头文件包括组织_C++_Header Files - Fatal编程技术网

C++ C++;头文件包括组织

C++ C++;头文件包括组织,c++,header-files,C++,Header Files,可能重复: 我的问题是关于包含在.h文件中。是否最好先包含所有标准头文件(如iostream),然后才包含所有用户头文件,或者反之亦然?我在谷歌上搜索了一段时间,但没有找到任何推荐。我个人的偏好是自下而上。所以平台特定的头文件首先,C++标准头文件会接着,然后核心库(像Boost),然后更高级的库(像数据库),然后项目特定包括。< / P> < P>它是个人的选择,我按以下顺序使用: <standard headers> <platform headers> <p

可能重复:


我的问题是关于包含在.h文件中。是否最好先包含所有标准头文件(如iostream),然后才包含所有用户头文件,或者反之亦然?我在谷歌上搜索了一段时间,但没有找到任何推荐。我个人的偏好是自下而上。所以平台特定的头文件首先,C++标准头文件会接着,然后核心库(像Boost),然后更高级的库(像数据库),然后项目特定包括。< / P> < P>它是个人的选择,我按以下顺序使用:

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

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


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

关于这一点,已经有了一个主题:


但一般来说,你必须确保标题的顺序不重要。

包含的顺序无关紧要,你可以从你想要的开始,也可以结束


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

在我的实践中,我首先包括了系统标题,然后包括了用户标题。请阅读以下内容:嗯,重点是我在赫伯特·席尔德的书中也读到了相同的信息,但我的老板昨天告诉我这是一种“糟糕的编码风格”。。。无论如何,谢谢你的关注。