【发布时间】:2009-10-28 00:10:22
【问题描述】:
我对包含标题时的“最佳实践”有疑问。
显然包含保护可以防止我们在头文件或源文件中包含多个包含,所以我的问题是您是否发现在头文件或源文件中#include 所有需要的头文件是否有益,即使其中包含一个头文件已经包含其他包含之一。这样做的原因是为了让读者可以看到文件所需的所有内容,而不是在其他标题中寻找。
例如:假设使用了包含防护:
// Header titled foo.h
#include "blah.h"
//....
.
// Header titled bar.h that needs blah.h and foo.h
#include "foo.h"
#include "blah.h" // Unnecessary, but tells reader that bar needs blah
另外,如果头文件中不需要头文件,但在其相关的源文件中需要,你是把它放在头文件中还是放在源代码中?
【问题讨论】:
-
它告诉读者 foo 现在需要 blah。但是,如果 foo 被更改为使用 fubar,那么您现在是否会在所有来源中搜索 foo.h 和 blah.h,以便您可以将 blah.h 替换为 fubar.h
标签: c++