私はC++参照変数について読みましたが、どこかでこれを見つけました:
別のオブジェクトを参照するために参照を行うことはできないため、const 参照の宣言は冗長です。
どういう意味ですか?
ここでは、たとえば、参照が参照しているオブジェクトを変更できます。
void p(int& i) {
int a = 7,c = 0;
i = a;
}
では、「別のオブジェクトを参照するために参照を行うことはできない」とはどういう意味ですか?
前もって感謝します。
つまり、このコードを考えると
int a;
int b;
int& ref = a;
ref
を参照するように初期化すると、それを参照する方法や他の変数a
を作成する方法はありません。b
参照に加えた変更は、初期化に使用した変数に反映されます。参照 (それ自体は適切なオブジェクトでさえありません) はそのまま残ります。
また、参照は、それが参照するオブジェクトが存続している場合にのみ使用できます。
あなたの例でi
は、指しているものを変更していません。i
の値を の値に変更していますa
。のアドレスを表示する場所を指定するとi
、 とは異なることがわかりますa
。