Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我尝试在 C 标头中使用或不使用包含保护进行编译,并确保多个 c 文件包含相同的标头。这将导致重新声明,并且是允许的。那它有什么用呢?
您可以防止循环包含:
/** file A.h */ #include "B.h"
/** file B.h */ #include "A.h"
如果您包含“Ah”或“Bh”,会发生什么?您的预处理器将尝试包含另一个文件,该文件将包含另一个文件,该文件将包含另一个文件,...</p>
守卫确保您不会多次包含该文件。