1.ifndef介绍
#ifndef条件指示符是c++中的预处理编译指令,是一种宏定义,它是以根据是否已经定义了一个变量来进行分支选择。
ifndef=if not define,可以理解为:ifndef后标识符没有被定义(即不存在#define ...时)
2.使用
当头文件被多次包含时,则会多次拷贝,为解决头文件多次引入:使用条件编译
代码演示
#ifndef SYMBOL
#define SYMBOL
//头文件内容...
#endif
当第一次调用这个头文件的时候,没有定义SYMBOL,就会继续对下面的语段进行声明。但是当第二次调用头文件时,已经定义了SYMBOL,所以就不会进行下面的代码声明了。这就是条件编译防止头文件包含的原理。