Zalety preprocesora warunkowego względem instrukcji warunkowych
Nigdy nie pracowałem#Jeśli, #ifdef, #ifndef, #jeszcze, #elif i#endif.
Przeglądając niektóre kody źródłowe, znalazłem szerokie zastosowanie tych dyrektyw. Zrobiłem trochę czytania na temat warunkowych preprocesorów, ale nie znalazłem żadnej wskazówkiczym różnią się od zwykłych instrukcji warunkowych. Zastanawiałem się więc, jaka jest zaleta następującego kodu:
#include<iostream>
int main()
{
int i = 0;
#if i == 0
std::cout<<"This";
#else
std::cout<<"That";
#endif
return 0;
}
Nad tym:
#include<iostream>
int main()
{
int i = 0;
if (i == 0)
std::cout<<"This";
else
std::cout<<"That";
return 0;
}
Również kiedyużywać/ nie używać preprocesora warunkowego?