ifndef是"if not defined"的简写,是宏定义的一种,它是可以根据是否已经定义了一个变量来进行分支选择,一般用于调试等。实际上确切的说这应该是预处理功能中三种(宏定义,文件包含和条件编译)中的第三种——条件编译。
我们先说预处理
一.预处理第一种功能宏定义:
#define RGB(r,g,b) (b&31+g&31<<5+r&31<<10)
define宏定义这个应该是最常用的了 就不说了
二.预处理的第二种功能:文件包含
这个是
#ifndef _HEAD_H
#define _HEAD_H
#include”head.h"
#endif
这个应该是最常用的了 三件套 防止头文件被在多个.cpp文件中 多次包含编译到时候编译成一个可执行文件有大量命名冲突
肯定过不去的 但是这样就即便你比较懒多个文件都包含同一个头文件了,通过这个也可以避免。
PS:不过你多个.cpp文件要包含同一个头文件时 _HEAD_H这个名字要一样啊 因为编译器就是通过这个识别的来决定变不编译
#define _HEAD_H
。。。。。
#endif
之间的部分