这是预处理命令
#ifndef _HEAD_H //就是如果没有定义宏_HEAD_H
#define _HEAD_H //那么就定义宏_HEAD_H
//添加你的头文件内容
#endif //结束if
还有类似的#ifdef #undefine可以从字面意思理解。
加上以上的宏是未了防止头文件被重复引用,当编译器第一次编译头文件的时候,会定义_HEAD_H,然后如果还有文件引用了该头文件,但_HEAD_H已经被定义了,所以就不会在去编译你的头文件添加的内容。
这个就是条件编译
宏命令,他们类似条件语句。
#ifndef -- 如果没有定义什么东西
#define -- 则定义某东西
#endif -- 宏 条件语句结束符号
宏 条件语句 在程序编译的第一阶段执行。执行完,再编译C,C++程序部分。