Effectvie C++ 第1章3項
constについての項目。あいかわらずconstは苦手。バグを防ぐためにも値を変更しないばあいにはcosntを付ける癖をつけたい。
ポインタにconstを付けるときは位置によってポインタ自身がconstなのか参照している先のデータがconstなのか決まる。
char text[] = "test"; // ポインタ、データはconstでない char* p = text; // ポインタはconstでなく, データはconst const char* p = text; // ポインタはconstで, データはconstでない char* const p = text; // ポインタ、データはconst const char* const p = text;
基本はconstが*の左にあるとデータがconst、constが*の右にあるとポインタがconst。