深圳鲁班到家:#ifndef是什么?

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/25 19:50:41
我是c++初学者,要在短时内学会并用它做一个项目,所以有好多东西不会,希望大家来帮帮我,谢谢!

我补充一下
#ifndef
#表明是预处理命令
ifndef意为if not defined sth.
它与ifdef都可用于条件编译


#ifdef 标识符A
程序段1
#else
程序段2
#endif
意为若所指定的标识符A已经被#define命令定义过则编译程序段1,否则编译程序段2

同理
#ifndef 标识符B
程序段1
#else
程序段2
#endif
意为若所指定的标识符B未被#define命令定义过则编译程序段1,否则编译程序段2

这是宏定义的一种,它可以根据是否已经定义了一个变量来进行分支选择,一般用于调试等等
比如
#define x
#ifndef x
do something
#endif