どうやら、厳密にブール値ではないものunordered_set::erase
をunordered_set::count
返します(論理的には、実際の型については話していません)。
リンクされたページは、消去の3番目のバージョンを読み取ります。
size_type erase( const key_type& key );
キー値キーを持つ要素を削除します
これには、特定のキーを持つ要素が複数存在する可能性があることを示唆するトーンがあります。これについては明確に述べていませんが、多くのように聞こえます。
さて、セットのポイントは、順序付けられていないものであっても、各要素を1回持つことです。
標準ライブラリはbool
型の存在を認識し、それをのようなブール値に使用しますunordered_set::empty()
。それで、上記の場合に戻ることのポイントは何size_type
ですか?ハッシュの衝突にもかかわらず、コンテナは異なるキーを持つ要素を区別する必要がありますよね?それでも信頼できますか?