C++,使用#if true条件指令
使用#if TRUE这样的语句时,我应该预期会发生什么情况?如果您能给我一个解释,我们将不胜感激!我了解#if 1是如何工作的,但是它在我的代码中给出的结果与使用#if TRUE完全不同。我理解#if是一个条件指令,这意味着什么;我只是不理解TRUE(或FALSE)部分。似乎以这种方式使用它永远不会执行语句后面的代码。下面是一个示例:
#if TRUE
cout << "true" << endl;
#endif
#if FALSE
cout << "false" << endl;
#endif
我似乎从未看到";true";或";false";打印到屏幕上,并且使用Visual Studio时,内部语句会自动灰显。
解决方案
预处理器将包括/排除#if #endif挡路的内容,具体取决于#if后的表达式计算为TRUE还是FALSE。
#if TRUE仅当
- 定义宏
TRUE TRUE!=0 的值
在您的示例中,TRUE和FALSE均未定义,因此这两个块都是FALSE且被排除。
相关文章