通常変数のconst
const T // 中身の書き換えを禁止する。Tがクラス・構造体の場合そのクラス・構造体のメンバがすべてconst扱いとなる。
ポインタ変数のconst
const T* // 中身の書き換えが禁止されたポインタ。ただし、このポインタを使っての書き換えが禁止されているだけであって、メモリレベルで保護されているわけではない。 T* const // アドレスの書き換えが禁止されたポインタ const T* const // 上の2つを合わせたもの
参照型変数のconst
const T& // 中身の書き換えを禁止する。参照型であるという所以外は通常変数のconstと同じ。