Tuesday, May 19, 2009

const

■ 下記の書き方は同じ意味,これでxは定数で,別の値を代入できなくなる.
int const x = 200;
const int x = 200;

■ constポインタは少し厄介
const char* p1 = "aaa"; // p1, p2が指す内容を変更できないが,p1, p2は変更可能
char const* p2 = "bbb";

char* const p3 = "ccc"; // p3は変更できないが,指す内容は変更できる

const char* const p4 = "ddd"; // p4と指す値も両方変更できない

*の左にがある場合は指す内容を変更できないが,ポインタは変更可能
*の右に*がある場合は指す内容を変更できるが,ポインタは変更できない
両方がある場合は値もポインタも変更できない

■ const なクラスメンバー
コンストラクタでOBJを作成するときには必ず初期化しないといけない

■ クラスの関数で,属性を変更しないものは const をつけろ!