私は整数変数を指すポインタを持っています。次に、このポインタを参照変数に割り当てます。現在、ポインタを他の整数変数を指すように変更すると、参照変数の値は変更されません。なぜ誰かが説明できますか?参照変数とポインタの問題
int rats = 101;
int * pt = &rats;
int & rodents = *pt; // outputs
cout << "rats = " << rats; // 101
cout << ", *pt = " << *pt; // 101
cout << ", rodents = " << rodents << endl; // 101
cout << "rats address = " << &rats; // 0027f940
cout << ", rodents address = " << &rodents << endl; // 0027f940
int bunnies = 50;
pt = &bunnies;
cout << "bunnies = " << bunnies; // 50
cout << ", rats = " << rats; // 101
cout << ", *pt = " << *pt; // 50
cout << ", rodents = " << rodents << endl; // 101
cout << "bunnies address = " << &bunnies; // 0027f91c
cout << ", rodents address = " << &rodents << endl; // 0027f940
ウサギにptを割り当てましたが、げっ歯類の価値はまだ101です。理由を説明してください。
だから、げっ歯類が1つの変数に割り当てられていれば、他の変数に再び参照することはできません。 – Naphstor
@Naphstor:はい、あなたは正しいです。参照は、他の変数を参照するようにバインドすることはできず、常にそれらがバインドされた変数への参照のままです。 –