複数のキーワードを組み合わせることで意味が変わるものが多い（文脈依存のキーワード）。
基本型.
auto (*).
変数宣言の際に型として指定すると、初期化式から型推論を行う。
また、戻り値型を後置きする関数宣言に用いる。
複合型.
型修飾子.
ハードウェアに近い操作を行う処理を記述する際は、特に重要になる修飾子である。
記憶クラス指定子.
 /* ～ */
register.
特にクラスの場合、これは宣言となるため普通のグローバル変数などと同様にソースファイルで定義が必要である。ただし次の場合、例外として不要である。
 /* ... */
グローバル変数やクラス・関数内静的変数について、スレッドローカルな記憶域に確保するよう指示する。
宣言指定子.
friend.
フレンド関数・フレンドクラスの宣言に用いる。
関数指定子.
定数式を表す。変数や関数を修飾して、コンパイル時定数となりうることを指示する。
クラスに関するキーワード.
アクセス制御.
クラスメンバと継承のアクセス制御に用いられる。
public:
}; //クラス宣言の終わりには ; が必要。
public:
その他.
this.
文に関するキーワード.
制御構造.
式に関するキーワード.
動的記憶域確保.
new, delete.
型変換.
静的キャスト。コンパイル時に型チェックを行う。変換前の型から変換後の型へ、あるいはその逆向きの暗黙の変換が存在する場合に変換可能である。変換できなければコンパイルエラーになる。
安全でなかったり移植性のない型変換に用いる。無関係なポインタ型同士の変換や、ポインタと整数型の変換などがそうである。
式に関する情報.
型のアライメントの値を得る。
式から型を取得し、型名として用いる。 
sizeof.
型、あるいは式の型のサイズを得る。
例外処理.
関数に例外指定を付与する。
表明.
コンパイル時に評価される表明を記述する。検査式が偽になると、指定されたメッセージを伴ってコンパイルエラーとなる。宣言として扱われるが、プログラムの動作には影響がない。
テンプレートに関するキーワード.
typename.
//typenameの例
};
export.