C++头文件包括组织
C++ header file includes organization
可能重复:
C++标题订单
我的问题是关于.h文件中的include。是否最好先包括所有标准头文件,如iostream,然后再包括所有用户头文件,反之亦然?我在谷歌上搜索了一段时间,但没有找到任何推荐。
这是我个人的选择,我按以下顺序使用它:
<standard headers>
<platform headers>
<project headers>
我个人喜欢自下而上。因此,特定于平台的头文件将首先出现,C++标准头文件将紧随其后,然后是核心库(如boost),然后是更高级别的库(如数据库),最后是特定于项目的include。
*.cc
文件应该首先是#include
系统头,然后是用户的头(否则系统库和您自己的代码之间的名称冲突会有奇怪的行为;但您应该避免这种冲突)。但是您可以将所有的#include
都放在头文件中。
您可以决定使用包含应用程序所需的所有#include
系统标头的单个用户标头;当在Linux上使用GCC进行编译时,这有助于预编译头。看看这个答案。
已经有一个关于这个的主题:
C++标题订单
但一般来说,你必须确保标题的顺序不重要。
include的顺序无关紧要,您可以从任何您想要的开始,也可以结束。
我不知道我的回答是否正确,这就是我所理解的。。。
相关文章:
- AcquireCredentialsHandleA() 返回 PFX 文件的0x8009030e(安全包中没有可用的凭据
- 禁止显示有关包含文件中 #pragma 包的警告
- 选择特定版本的 Visual Studio 命令行工具包,并根据特定版本的C++运行时环境编译文件
- 如何使用 AWS C++ 开发工具包在给定的开始和结束日期范围内列出 S3 中的文件
- 如何链接我自己的 .so 文件而不是操作系统捆绑包 .so 文件?
- 使用开发工具包将文件上传到 AWS C++
- TCP-Server以数据包结构(非Java客户端)发送文件
- 致命错误 C1083:无法打开包含文件:'atlbase.h' Pyinsane 包
- 可视化 将 TCP 服务器数据包保存到 C++ 中的文件
- Buildroot 包需要一个带有C++大文件错误的工具链
- 获取包含C++的捆绑包中文件的路径(CFBundleGetMainBundle)
- 数据包大小(每数据包 mBytes)或核心音频中 AAC 文件的比特率
- CMake 包配置文件中的泛型"transitive behavior" (find_dependency)
- Visual Studio 14.0 和 Windows 工具包中的错误包括文件夹
- 获取 PCAP 文件中数据包的 IP 地址
- 如何在 C++ 中读取 PCAP 文件以获取数据包信息
- 如何在C++中分析来自流量转储文件的数据包信息
- 拆包/解密/提取/application.bin文件
- Python:将二进制文件读取到一个结构中,然后拆包
- 如何在visual studio 2010 C++中制作带有所需.dll和lib(opencv)文件的.exe文件包