Преимущества условно-препроцессора перед условными выражениями

Я никогда не работал с#если, #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;
}

Кроме того, когдаиспользовать/ неиспользуемый условный препроцессор?

Ответы на вопрос(5)

Ваш ответ на вопрос