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且被排除。
相关文章