#ifndef 和 #define 的作用是什么?
时间: 2024-09-25 13:20:24 浏览: 43
#ifndef 在头文件中的作用
5星 · 资源好评率100%
#ifndef 和 #define 是 C/C++ 预处理器指令,主要用于条件编译。
1. `#ifndef` (Not Include Defined):这个指令检查某个宏是否已经被定义。如果没有定义,它所在的代码块将被包含(即编译)。如果已经定义,代码块将被跳过。这常用于防止多次包含同一个头文件,如防止在一个文件中两次包含某个公共头文件。
```cpp
#ifndef MY_MACRO
#define MY_MACRO
// 在这里定义 My_macro 只会执行一次
#endif
```
上面的例子中,如果 `MY_MACRO` 已经被定义,`#ifndef` 后的代码不会执行。
2. `#define`:这个指令用于定义宏,创建一个名称替换为指定值的占位符。它可以用来代替常量、函数名或复杂的表达式。定义后的宏可以在程序的各个地方使用,相当于字符串字面替换。
```cpp
#define PI 3.14159
std::cout << "The value of pi is: " << PI << std::endl;
```
这里,`PI` 就是一个由 `#define` 定义的常数。
阅读全文