C++のconstについて復習

通常変数のconst

const T // 中身の書き換えを禁止する。Tがクラス・構造体の場合そのクラス・構造体のメンバがすべてconst扱いとなる。

ポインタ変数のconst

const T* // 中身の書き換えが禁止されたポインタ。ただし、このポインタを使っての書き換えが禁止されているだけであって、メモリレベルで保護されているわけではない。
T* const // アドレスの書き換えが禁止されたポインタ
const T* const // 上の2つを合わせたもの

参照型変数のconst

const T& // 中身の書き換えを禁止する。参照型であるという所以外は通常変数のconstと同じ。