#ifndef什么意思
时间: 2023-09-06 17:07:50 浏览: 107
C++ 中pragma once 与 #ifndef _XXX_H_ #define _XXX_H_的区别
5星 · 资源好评率100%
`#ifndef` 是C++中的一个预处理指令,用于条件编译。它的意思是“如果未定义某个宏,则执行以下代码”。具体用法如下:
```cpp
#ifndef MACRO_NAME
// 如果 MACRO_NAME 未定义,则执行以下代码
#endif
```
在上述代码中,如果 `MACRO_NAME` 这个宏在之前未被定义过,那么 `#ifndef` 和 `#endif` 之间的代码将会被编译器处理。反之,如果 `MACRO_NAME` 已经被定义过,则这段代码将被忽略。
`#ifndef` 通常与 `#define` 和 `#endif` 配合使用,用于条件性地包含或排除一些代码。例如,可以使用以下方式防止头文件重复包含:
```cpp
#ifndef HEADER_FILE_NAME_H
#define HEADER_FILE_NAME_H
// 头文件内容
#endif
```
在这个例子中,如果 `HEADER_FILE_NAME_H` 这个宏未被定义,表示该头文件还未被包含过,那么会定义该宏并执行头文件的内容。如果该宏已经被定义过,表示该头文件已经被包含过了,那么整个头文件内容会被忽略,以避免重复定义的问题。这样可以防止由于重复包含同一个头文件而导致的编译错误。
阅读全文