通信用語の基礎知識 全国のICカードこれひとつ 戻る

__cplusplus
辞書:電算用語の基礎知識 プログラミング仕様編 (PTPROGS)
読み:アンダースコア-アンダースコア-スィープラスプラス
外語:__cplusplus
品詞:名詞

CC++を区別する際によく用いられるプリプロセッサーマクロ。

目次
概要

多くのC++処理系は、C++翻訳単位(translation unit)の翻訳中に__cplusplusを定義する。CとC++の両方でコンパイルできるソースを書く場合、このマクロの有無を見ることで、CとC++で仕様の違う部分を切り分けることができる。

古いC++の実装ではc_plusplusを使うものもあったが、現在ではc_plusplusは使われていない。

特徴

ISO/IEC 14882(ISO C++)では、その値は199711Lとされている。

但し、Visual C++GCCclang/LLVMはじめ、多くの実装では1で定義されている。

用例

NULLの定義で、Cなら(void *)0、C++なら0で定義する例。

#ifndef NULL

#ifdef __cplusplus

#define NULL 0

#else

#define NULL ((void *)0)

#endif

#endif

C++の場合、型チェックが厳しくなったためにこのような事をせざるを得なくなり、実質的に型チェックは劣化した。

リンク
用語の所属
C++
関連する用語
__STDC__

[再検索] [戻る]


通信用語の基礎知識検索システム WDIC Explorer Ver 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club
KisoDic