キーワード (C++)
&
C++11には86のキーワードがある。最初に制定された規格であるC++98では73のキーワードが採用され、C++11で新たに13のキーワードおよび2つの文脈依存のキーワード(後述)が追加された。C++11から追加のキーワード及び機能には(*)を付す。C++14およびC++17ではキーワードは増えていない。
C89で存在したキーワードは、すべてがほぼそのままの形で取り入れられている。中には、inlineなど最初C++98に導入されたキーワードが後からC99にも導入されたものもある。alignofは C11/C++11 両方に追加された。
型、あるいは式の型のサイズを得る。
また、sizeof...の形で、可変長引数テンプレートの可変長引数部の長さを取得する(*)。
(新機能:コンセプト)テンプレート引数のコンセプト要求を指定する定数式を指定する。
戻り値や引数がないことを表す型。
デリファレンスする先の型を指定しないポインタvoid*の表現に用いられる。
メンバ関数の宣言の直後において文脈依存のキーワードとして扱われる。仮想関数が基底クラスのメンバ関数をオーバーライドすることを明示する。
グローバル変数やクラス・関数内静的変数について、スレッドローカルな記憶域に確保するよう指示する。
long doubleは少なくともdoubleと同じ精度を持つ浮動小数点数型。処理系によっては拡張倍精度浮動小数点数型となる。
C++においてstructはデフォルトのアクセス制御がpublicであること以外はclassと全く同じである。unionもクラスの一種という扱いである。
unionはすべてのメンバ変数が同一メモリ領域を共有するのはCのままであるが、classに準じてメンバ関数を持てるようになっている。
規格では、クラス内で宣言した変数および関数は、それぞれデータメンバーおよびメンバ関数と呼ぶ。JavaやC#のように、フィールド・メソッドなどといった用語は使われない。
(関数指定子)変数や関数を修飾して、コンパイル時定数となることを指示する。constexprと異なり、コンパイル時に評価することを強制する。