通常PC用 / 人気 更新 今日 カテ |
電子計算機 > 仕様・構造 > ソフトウェア > プログラミング言語 > 言語仕様 > 予約語・関数など |
__cplusplus |
辞書:電算用語の基礎知識 プログラミング仕様編 (PTPROGS) |
読み:アンダースコア-アンダースコア-スィープラスプラス |
外語:__cplusplus |
品詞:名詞 |
CとC++を区別する際によく用いられるプリプロセッサーマクロ。
|
概要 |
多くのC++処理系は、C++翻訳単位(translation unit)の翻訳中に__cplusplusを定義する。CとC++の両方でコンパイルできるソースを書く場合、このマクロの有無を見ることで、CとC++で仕様の違う部分を切り分けることができる。
古いC++の実装ではc_plusplusを使うものもあったが、現在ではc_plusplusは使われていない。
特徴 |
ISO/IEC 14882(ISO C++)では、その値は199711Lとされている。
但し、Visual C++やGCC、clang/LLVMはじめ、多くの実装では1で定義されている。
用例 |
NULLの定義で、Cなら(void *)0、C++なら0で定義する例。
#ifndef NULL
#ifdef __cplusplus
#define NULL 0
#else
#define NULL ((void *)0)
#endif
#endif
C++の場合、型チェックが厳しくなったためにこのような事をせざるを得なくなり、実質的に型チェックは劣化した。
リンク |
通信用語の基礎知識検索システム WDIC Explorer Ver 7.04a (27-May-2022) Search System : Copyright © Mirai corporation Dictionary : Copyright © WDIC Creators club |