-4

重複の可能性:
イテレーターの無効化規則

私が持っていると想像してくださいmap<int, int>pair<35,37>どういうわけか、マップ内のエントリを指すイテレータを取得しました。このイテレータを として保存しますmap<int, int>::iterator _my_iterator3537

その後、マップへの挿入をたくさん行いました。まだ?_my_iterator3537を指していpair<35,37>ますか?

4

1 に答える 1

3

ドキュメントから:

Map には、新しい要素をマップに挿入しても、既存の要素を指す反復子が無効にならないという重要な特性があります。

マップから要素を消去しても、消去される要素を実際に指しているイテレータを除いて、どのイテレータも無効になりません。

標準から: 23.1.2/8

挿入メンバーは反復子とコンテナーへの参照の有効性に影響を与えず、消去メンバーは反復子と消去された要素への参照のみを無効にします。

于 2012-11-07T21:02:45.817 に答える