c/c++预处理命令预#if, #ifdef, #ifndef, #else, #elif, #endif介绍
本文导语: c/c++预处理命令预#if, #ifdef, #ifndef, #else, #elif, #endif介绍这些命令让编译器进行简单的逻辑控制. 当一个文件被编译时, 你可以使用这些命令使某些行保留或者是去处. #if expression
如果表达式(expression)的值是"真"(true...
这些命令让编译器进行简单的逻辑控制. 当一个文件被编译时, 你可以使用这些命令使某些行保留或者是去处.
#if expression
如果表达式(expression)的值是"真"(true),那么紧随该命令的代码将会被编译.
#ifdef macro
如果"macro"已经在一个#define声明中定义了, 那么紧随该命令的代码将会被编译.
#ifndef macro
如果"macro"未在一个#define声明中定义, 那么紧随命令的代码将会被编译.
一些小边注: 命令#elif是"elseif"的一种缩写,并且他可以想你所意愿的一样工作. 你也可以在一个#if后插入一个"defined"或者"!defined"以获得更多的功能.
这里是一部分例子:
#ifdef DEBUG
cout << "This is the test version, i=" << i << endl;
#else
cout << "This is the production version!" << endl;
#endif
你应该注意到第二个例子比在你的代码中插入多个"cout"进行调试的方法更简单.