次のコードがあるとします。
int *q = new int(42), *r = new int(100);
r = q;
rは、 と同じ動的に割り当てられたオブジェクトを指すようになりますq。の初期化中に作成されたオブジェクトはどうなりますrか? それはまだ有効ですか?いかがですdeleteか?
私はそれを書いていることを知っています:
delete q;
q と r の両方を無効にします。私がした場合:
delete r;
これは q と r の両方を無効にしませんか?
たとえそれがあったとしても、int値が 100 の元のオブジェクトはまだぶらぶらしていませんか?