揮発性のメモ2

http://d.hatena.ne.jp/iww/

constについて

Hoge* a
制限なし
constなポインタをつっこめない。
const Hoge* a
データ(ポインタの先)が書き換え不可
a->bar = 1 は余裕でアウト
a->foo() ってやるときは、foo()がconstじゃないとダメ
Hoge* const a
ポインタが書き換え不可
a++;とか出来ない。
const Hoge* const a
ポインタもデータも書き換え不可
Hoge::foo() const
foo() はメンバーを書き換えたりしません、という宣言
この関数内ではメンバ変数はconst扱いになり、メンバ関数もconstのついたのしか呼べない
const Hoge* Hoge::getThis()
戻り値が const
絶対constで受けろよ、とプログラマに強制するときに使う