我在File.h中有这种情况:
//File.h
#include "Info.h"
#include "Constants.h"
Info.h 已包含 Constants.h
//Info.h
#include "Constants.h"
但是 File.h 直接使用 Constants.h 中定义的内容
一切都受编译指示保护,因此文件不会被包含两次。
我应该保留
//File.h
#include "Constants.h"
放在 File.h 中以提高可读性,还是将其删除,因为它已包含在 Info.h 中?
最佳答案
您应该不依赖包含您需要的内容的另一个 header ,但应明确包含您需要的 header 。
特别是:尝试将包含内容移至 cpp 文件(而不是 header )中,以最大程度地减少更改后翻译单元的重新编译。
避免通过一系列其他包含来包含内容,可以为可维护性和代码维护任务期间减少错误和问题铺平道路。
引用文献:许多商业范围的产品都认同这一理念,including LLVM .
除此之外,一切都取决于你。
关于c++ - 删除不必要的包含时的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25032723/