Преимущества условно-препроцессора перед условными выражениями
Я никогда не работал с#если, #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;
}
Кроме того, когдаиспользовать/ неиспользуемый условный препроцессор?