#ifndef
#
#ifndef
是 C++ 预处理器指令之一,用于检查宏是否已经被定义。如果宏没有被定义,那么编译器会执行后面的代码块。这个指令通常与 #define
和 #endif
一起使用,用于防止头文件的重复包含。
下面示例代码,展示了如何使用 #ifndef
来避免头文件的重复包含:
#ifndef HEADER_H
#define HEADER_H
// 在这里放置头文件中的代码
#endif // HEADER_H
在上面的代码中,#ifndef HEADER_H
检查宏 HEADER_H
是否已经被定义。如果没有被定义,那么编译器会执行 #define HEADER_H
语句,将宏定义添加到预处理器的符号表中。然后,编译器会继续编译后续的代码,直到遇到 #endif
指令。
通过这种方式,可以确保头文件只被包含一次,从而避免了重复定义和潜在的错误。