预处理器
---雨竹清风
预处理器能够确保即使所包含的文件有重复,仍然能够正常运行。预处理器是编译之前执行的代码。其代码如下:
#ifndef A_H//#ifndef是代表如果后面的标识符没有定义那么将返回值1
#define A_H//定义标识符
#include <string>
struct A
{
......
};
#endif
若再一次包含这个头文件,那么A_H已经定义了,所以后面的代码就不会执行。
预处理变量无视C++语言关于作用域的规则。
预处理也可以是
#ifdef A_H
......
#else
......
#endif
一般我们将标识符写成全大写,最好是里面定义的类名,后面加上_H。