#ifndef __XXX_H__ //"if not define __XXX_H__" 如果不存在__XXX_H__
#define __XXX_H__ //就引入__XXX_H__
#include <iostream>
// 其他代码
#endif //否则不需要引入
如果没有定义这个东西(__XXX_H__)的话就去定义一个
并不是一定要“__XXX_H__”这个形式,只是比较不常见不与标准库文件一样
使用#ifndef、#define、#endif组合宏定义的作用是:防止头文件的重复包含和编译。
总结:在c语言中,对同一个变量或者函数进行多次声明是不会报错的。所以如果h文件里只是进行了声明工作,
即使不使用# ifndef宏定义,一个c文件多次包含同一个h文件也不会报错。 使用#ifndef可以避免下面这种
错误:如果在h文件中定义了全局变量,一个c文件包含同一个h文件多次,如果不加#ifndef宏定义,会出现
变量重复定义的错误;如果加了#ifndef,则不会出现这种错.