我经常在头文件的开头看到这样的代码:
#ifndef HEADERFILE_H #define HEADERFILE_H
在文件的末尾是
#endif
这样做的目的是什么?
这些被称为#include 警卫。
包含标头后,它会检查是否HEADERFILE_H定义了唯一值(在本例中为 )。然后,如果它没有定义,它会定义它并继续到页面的其余部分。
HEADERFILE_H
当再次包含代码时,第一次ifndef失败,导致一个空白文件。
ifndef
这可以防止重复声明任何标识符,例如类型、枚举和静态变量。