Vantagens do pré-processador condicional em relação a instruções condicionais
Eu nunca trabalhei com#E se, #ifdef, #ifndef, #outro, #elif e#fim se.
Como eu estava passando por alguns códigos-fonte, encontrei um uso extensivo dessas diretivas. Fiz algumas leituras em pré-processadores condicionais, mas não encontrou nenhuma pistacomo eles são diferentes das declarações condicionais normais?. Então eu queria saber qual é a vantagem de seguir o código:
#include<iostream>
int main()
{
int i = 0;
#if i == 0
std::cout<<"This";
#else
std::cout<<"That";
#endif
return 0;
}
por cima disto:
#include<iostream>
int main()
{
int i = 0;
if (i == 0)
std::cout<<"This";
else
std::cout<<"That";
return 0;
}
Além disso, quandousar/ pré-processador não-a-usar?