条件预编译
来自cppreference.com
< cpp | preprocessor
#if, #ifdef, #ifndef, #else, #elif, #endif
通过这6条预编译指令可以简单控制编译器的行为,当文件被编译时,可以使用这些命令来控制一些特定的行被编译或不被编译。
#if expression
如果表达式为真,命令后边的代码被编译。
#ifdef macro
如果宏被使用 #define 定义,命令后边的代码被编译。
#ifndef macro
如果宏没有被使用 #define 定义,命令后边的代码被编译。
A few side notes: #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"语句相比,使调试变得更容易。
相关主题: #define