0
はSTD ::ません(x
がconst key_type&
ある)STL同じようerase (collection.find(x));
で実装erase (x)
設定されていますか?std :: set `erase(const key_type&x)`はSTLと同じ方法で `erase(collection.find(x));`が実行されますか?
はSTD ::ません(x
がconst key_type&
ある)STL同じようerase (collection.find(x));
で実装erase (x)
設定されていますか?std :: set `erase(const key_type&x)`はSTLと同じ方法で `erase(collection.find(x));`が実行されますか?
私は、彼らは非常に似てになりそうだと確信している、しかし、1つは、特定の方法で「unfound」要素を処理しなければならないので、彼らは違いがあるでしょうし、他はそれを心配する必要があります(そしておそらくありません非デバッグビルドではありません)。
std::set::erase(const key_type&)
0
または1
消去するマッチング要素が発見された場合に応じて返されます。
std::set::erase(iterator)
は、何も返さず、渡されたイテレータが逆参照可能な場合にのみ動作を定義しています。したがって、find(x)
を渡した場合、x
はセットに含まれていません。問題があります。
あなたのSTL実装を見て、見つけたものをお知らせください! – Bukes