C & C++ FAQ
目次
C
C++
プログラム中からC言語であるのかC++言語であるのかを確認するにはどうすればよいですか。
標準C++に準拠している処理系では、マクロ
__cplusplus
が、
199711L
という
long
整数値をもつように定義済みです(この値は、規格の改定時に増える可能性があります)。したがって、このマクロが定義済みであるかどうかを判断すればよいでしょう。
なお、CとC++とで異なるプログラムとしたいのであれば、以下のように実現することができます。
#if defined __cplusplus // // C++言語用のコード // #else /* C++言語用のコード */ #endif
■ 根拠 ■
標準C++
§16.8
Predefined macro names
戻る