#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;
}
また、いつ条件付きプリプロセッサを使用する/使用しないのですか?