头文件 " #ifndef OMG_H //"if not define omg.h" 如果不存在omg.h (不区分大小写)
#define OMG_H //"define omg.h" 否则定义omg.h (#endif 意思是否则不需要引入)
#endif"----------主要目的是防止头文件的“重复包含和编译”,即一个头文件在同一个cpp文件中被include多次。
以上错误多因为include多次嵌套重复冗余造成。eg: 周星驰.h文件中#include"如花.h";
但,吴孟达.cpp 中导入#include"周星驰.h" and #include"如花.h"
从上面可以看到“如花.h”被重复引用
头文件被多次重复引用会导致以下问题:
1》增加了编译过程中的工作量,降低了编译效率,尤其对于大工程编译而言是灾难!
2》部分头文件重复包含会报错,例如全局变量的重复定义。
注---不一定所有的文件都需要添加以上三行。