7

set.find()によって返されたイテレータを保存して、std::set要素を追跡する必要があります。

私の質問は、他の要素を挿入および削除すると、取得したイテレータが無効になりますか?簡単なテストから、そうではないことがわかりましたが、この機能が仕様によるものであることを確認したいと思います。

4

1 に答える 1

12

要素へのイテレータまたはポインタ/参照を無効にすることはありません。要素自体を削除した場合にのみ、反復子またはポインター/参照が無効になります。

23.1.2/8:

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

于 2010-03-02T16:18:13.067 に答える