编写自定义头文件时,原来就是随意的编写一些内容,但是很少去想过头文件的格式;
突然一天,发现自己的头文件里有这么几个小东西 ;
#ifndef DAO_H
#define DAO_H
...
#endif
上面这个有什么详细的意义?
恍惚的记着是为了避免头文件多次调用,造成多次编译,引起重定义的错误;
然后找了下
#ifndef _TEST_H
#define _TEST_H//一般是文件名的大写
头文件结尾写上一行:#endif
这样一个工程文件里同时包含两个test.h时,就不会出现重定义的错误了。
分析:当第一次包含test.h时,由于没有定义_TEST_H,条件为真,这样就会包含(执行)#ifndef _TEST_H和#endif之间的代码,当第二次包含test.h时前面一次已经定义了_TEST_H,条件为假,#ifndef _TEST_H和#endif之间的代码也就不会再次被包含,这样就避免了重定义了。主要用于防止重复定义宏和重复包含头文件