C++相談室 part166 (635レス)
上下前次1-新
抽出解除 レス栞
618(2): デフォルトの名無しさん (ワントンキン MMe6-+IOe) [sage] 2025/09/07(日) 22:03:02.60 ID:2DaEs5aKM(2/2) AAS
>>615C++では参照の競合があってもエラーとならず安全性は保証されないよ
例えば以下の挙動
std::vector<int> v{0, 1, 2, 3, 4, 5, 6, 7};
int& fifth = v[5];
v.push_back(100);
std::vector<int> w{8, 8, 8, 8, 8, 8, 8, 8};
fifth = 555;
std::cout << "v[5] = " << v[5] << std::endl;
std::cout << "w[5] = " << w[5] << std::endl;
619: デフォルトの名無しさん (ワッチョイ dbd6-ERpe) [sage] 2025/09/08(月) 07:59:15.17 ID:It1Ffdlu0(1/2) AAS
>>618
これわ別問題じゃないのですか。
にしても、おとろしい
push_backされた時点で再構築されて、新規作成のオブジェクトの要素を保持してしまったで合ってますか?
629: デフォルトの名無しさん (アウアウウー Sa47-Rd44) [sage] 2025/09/10(水) 00:51:51.50 ID:BnR46AnOa(1) AAS
>>618
これはvにpush_backしたところでキャパ超えて別の場所にリアロックされ、ともない元のvの領域が空になって、即座にwがスポンとそのvが元あった場所に配置されたってことなのですか?
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 1.197s*