C や C++ の const 修飾子は変数や引数に指定することで “値が不変である” ということを示す. 極めて単純である. これは書き方にいくつかのバリエーションが存在するが、ポインタ変数に対して指定する場合には初見だと非常に混乱する記述となる. この記事ではこの const 修飾子を混乱せずに使うための考え方についてまとめる. 変数に対して const 指定する場合 int a = 10; のように宣言された変数を const 指定する場合には、以下のいずれかの書き方がある. const int a = 10; // 変数 a の値は書き換えできなくなる. int const a = 10; // 同上 このいずれかの記述を行った場合、変数 a は値を書き換えることができなくなる. すなわち、a = 20; のような代入を行おうとするとコンパイルエラーが発生するようになる. これらは