我之前从未使用过#if、#ifdef、#ifndef、#else、#elif和#endif。
当我浏览一些源代码时,发现广泛地使用了这些指令。虽然阅读了有关条件预处理器的文章,但并没有找到类似它们与普通条件语句的区别的线索。所以我想知道遵循以下代码的优点:
#include<iostream>
int main()
{
int i = 0;
#if i == 0
std::cout<<"This";
#else
std::cout<<"That";
#endif
return 0;
}
关于这个问题:
#include<iostream>
int main()
{
int i = 0;
if (i == 0)
std::cout<<"This";
else
std::cout<<"That";
return 0;
}
此外,在IT技术中,何时使用/不使用条件预处理器?
if
在运行时被评估,而#if
在编译期间被评估。 - Aiias#if
不能与常规变量一起使用。 - Joachim Isaksson