小编典典

为什么在 C++ 头文件中使用 #ifndef 和 #define?

all

我经常在头文件的开头看到这样的代码:

#ifndef HEADERFILE_H
#define HEADERFILE_H

在文件的末尾是

#endif

这样做的目的是什么?


阅读 110

收藏
2022-03-04

共1个答案

小编典典

这些被称为#include 警卫

包含标头后,它会检查是否HEADERFILE_H定义了唯一值(在本例中为 )。然后,如果它没有定义,它会定义它并继续到页面的其余部分。

当再次包含代码时,第一次ifndef失败,导致一个空白文件。

这可以防止重复声明任何标识符,例如类型、枚举和静态变量。

2022-03-04