【发布时间】:2015-08-04 00:05:12
【问题描述】:
好的,可能这个问题已经有了答案,但我不知道要搜索什么关键字(我的大部分搜索结果都是关于仅在.h 中包含守卫,但在.cpp 中没有)
有时我在cpp 中看到每个#include 行都有一个额外的包含保护(有时甚至包含的.h 已经有自己的包含保护),如下所示:
SomeClass.cpp
#ifndef__A__
#include A.h
#endif
#ifndef__B__
#include B.h
#endif
#ifndef__C__
#include C.h
#endif
而不是
SomeClass.cpp
#include A.h
#include B.h
#include C.h
,这个包含守卫的作用是什么?
【问题讨论】:
-
它们被称为外部包含守卫,通常由大型 C++ 软件设计书流行。 stackoverflow.com/questions/110436/…
标签: c++