#ifdef语句1
//程序2
#endif
可翻译为:如果宏定义了语句1则程序2。
作用:我们可以用它区隔一些与特定头文件、程序库和其他文件版本有关的代码。
解释如下:
代码举例:新建define.cpp文件
#include<iostream> usingnamespacestd; intmain(intargc,char*argv[]) { #ifdefDEBUG cout<<"Beginningexecutionofmain()"<<endl; #endif return0; }
运行结果为:
Pressanykeytocontinue
改写代码如下:
#include<iostream> usingnamespacestd; #defineDEBUG intmain(intargc,char*argv[]) { #ifdefDEBUG cout<<"Beginningexecutionofmain()"<<endl; #endif return0; }
运行结果为:
Beginningexecutionofmain()
Pressanykeytocontinue
更一般的情况是,#define语句是包含在一个特定的头文件中。
又比如,新建头文件head.h,在文件中加入代码:
#defineDEBUG #ifdefDEBUG #endif 而在define.cpp源文件中,代码修改如下: #include<iostream> #include"head.h" intmain(intargc,char*argv[]) { #ifdefDEBUG cout<<"Beginningexecutionofmain()"<<endl; #endif return0; }
运行结果如下:
Beginningexecutionofmain()
Pressanykeytocontinue
结论:
通过使用#ifdef指示符,我们可以区隔一些与特定头文件、程序库和其他文件版本有关的代码。
Smartkeke