情報は力ではない

VimとかC++とかCUDAとか。

プログラミング言語C++ 7.5

  • ポインタが指すオブジェクトが定数
int x = 3;
int y = 4;
const int* pc = &x; // 定数へのポインタ
pc = &y; // OK
  • ポインタそのものが定数
int x = 3;
int y = 4;
int *const cp = &x; // 定数ポインタ
cp = &y; // エラー: cpは定数
  • 定数を指すポインタに、非constな変数のアドレスを代入できる。理由は、実害が無いからだそうだ
// 上のコードより
int x = 3;
const int* pc = &x;
  • 逆に、定数のアドレスを非constのポインタに代入することは出来ない
const int x = 3;
int* p = &x; // エラー: const int*によりint*を初期化をしている