#ifndef/#define/#endif
时间: 2024-10-15 14:00:36 浏览: 22
#ifndef #define #endif的用法
#ifndef、#define 和 #endif 是 C/C++ 编程语言中预处理器宏(Preprocessor Macros)常用的三个指令。
1. **ifndef** (not defined if):这是一个条件编译指令,如果宏名未定义,则包含紧跟其后的代码块。例如:
```cpp
#ifndef MY_MACRO
// 宏MY_MACRO未定义时执行的代码
#endif
```
如果你在程序中首次声明 `MY_MACRO`,这行将被执行。
2. **define**:用于定义一个宏,它会将宏名替换为提供的字符串内容。例如:
```cpp
#define MY_MACRO "Hello, World!"
```
现在在整个源文件中,每当 `MY_MACRO` 出现,都会被替换成 `"Hello, World!"`。
3. **endif**:当遇到此标签时,预处理器检查之前是否有一个与之配对的 ifndef 或 define 标签。如果是,则结束该预处理区域。如果没有,会产生错误。
这些指令通常一起使用,用于条件地启用或禁用代码段,或者提供常量替换,使得代码更易于维护和修改。
阅读全文