この質問は、実際のユースケースではなく、学術的な関心から私には見えました。
STL連想コンテナ、つまり[multi]setと[multi]mapには、次のようなオーバーロードされたメソッドが含まれています。
// for std::map
void erase ( iterator position );
size_type erase ( const key_type& x );
// for std::set
iterator erase (const_iterator position);
size_type erase (const value_type& val);
私の質問:もしkey_type
、それぞれ。または?value_type
_iterator
const_iterator
イテレータをコンテナに格納することは危険であり、おそらく役に立たないことを私は知っています。しかし、実際のSTL実装はどのように動作しますか?振る舞いも定義されていますか?