#ifndef
是一个预处理指令,用于防止头文件被多次包含。它的工作原理是检查括号内的宏是否已经定义。如果没有定义,编译器会执行 #ifndef
和对应的 #endif
之间的代码,并定义该宏以防止再次包含。
使用 #ifndef
的示例:
假设我们有一个名为 example.h
的头文件,我们希望防止它被多次包含。我们可以这样做:
#ifndef EXAMPLE_H #define EXAMPLE_H // 在这里放置头文件的内容 #endif // EXAMPLE_H
在这个例子中,如果 EXAMPLE_H
宏尚未定义,编译器会执行 #ifndef
和 #endif
之间的代码,并定义 EXAMPLE_H
宏。这样,如果 example.h
被再次包含,预处理器会发现 EXAMPLE_H
宏已经定义,因此不会再次执行其中的代码。