#ifndef _HEAD_H //就是如果没有定义宏_HEAD_H #define _HEAD_H //那么就定义宏_HEAD_H //添加你的头文件内容 #endif //结束if 还有类似的#ifdef #undefine可以从字面意思理解。 加上以上的宏是未了防止头文件被重复引用,当编译器第一次编译头文件的时候,会定义_HEAD_H,然后如果还有文件引用了该头文件,但_HEAD_H已经被定义了,所以就不会在去编译你的头文件添加的内容。 这个就是条件编译