キーワード (C++)
変数宣言を修飾するアトリビュートで、変数のアライメントを指定する。
フレンド関数・フレンドクラスの宣言に用いる。
演算子多重定義(オペレータオーバーロード)の関数を定義するのに用いる。
自分のクラスから他の型へ、暗黙の型変換を行う関数を定義するのに用いる。なお、他の型から自分のクラスへの変換は1引数のコンストラクタを使用する。
ユーザー定義リテラルの定義に用いる。operator"" suffixは接尾辞suffixで記述するユーザー定義リテラルを定義する関数名である(*)。
(アトリビュート)expects, ensures, assertのいずれかのアトリビュートの内部で、アトリビュート名の直後に出現した際に文脈依存のキーワードとして扱われる。これらのアトリビュートはそれぞれ関数についての事前条件、事後条件、不変条件の契約を示すための新しいアトリビュートである(契約プログラミング)。各アトリビュートの契約にはdefault, audit, axiomの三段階の契約レベルがあり、これらの文脈依存のキーワードはaudit契約レベルおよびaxiom契約レベルの指定に利用する(default契約レベルはキーワードdefaultか、または指定を省略することによって指定する)。おおむね、defaultは実行時チェックの負荷が小さいもの、auditは実行時チェックの負荷が大きいもの、axiomは実行時チェックを意図しないものに指定することを規格では意図している。実際にどの契約レベルまで実行時にチェックするかは、「ビルドレベル」によって変更される。