0

C++ で「定数」という概念を学び始めたばかりで、問題に遭遇しました。

int d=0;
const int* const pt = &d;
d = 3;
cout << *pt << endl;

このスクリプトは「3」を出力します。ポインター pt の定義は、「定数 int への定数ポインター pt」として説明する必要があります (少なくとも私はそう信じています)。しかし、d の値を変更すると、pt の指す int 値も変更されてしまい、どうして「CONSTANT int への定数ポインター」になるのでしょうか???

どうもありがとう。

4

2 に答える 2

0

ポインタがなければpt、あなたは持っています

int d=0;
d=3;

大丈夫なら。

d const を宣言すると、それを変更することはできません。

const int d=0;
d=3; //ERROR

ポインターptは、 にできることを変更しませんdconstは約束です。私はこれを変更しませんが、他の何かが変更される可能性があります。

于 2013-08-03T13:17:07.073 に答える