【发布时间】:2013-11-17 01:38:48
【问题描述】:
我习惯于在我的对象周围放置标题防护,例如:
#ifndef SOMETHING_H
#define SOMETHING_H
class Something {
...
}
#endif
但我已经获得了他们也这样做的代码:
#ifndef SOMETHING_H
#include "something.h"
#endif
对于每个包含。估计这样比较好。为什么?物体周围有警卫是多余的吗?
【问题讨论】:
-
Are redundant include guards necessary? 的可能副本 这个问题的答案与您相关。
-
对我来说似乎两者完全相同,我认为在头文件中声明会更好,因为它将始终受到保护,而在头文件之外它可以很容易被程序员遗忘
-
@Serdalis:你是对的,这是一个副本(它本身就是 stackoverflow.com/questions/1021357/… 的副本。显然我需要提高我的搜索能力。谢谢。
-
@MatthewPigram:我还认为将它们放在实现中是一个不好的地方,但根据其他问题,它确实缩短了编译时间。
标签: c++ include-guards