1. ホーム
  2. c++

[解決済み] std::multimap<key, value> と std::map<key, std::set<value> > の違いは何ですか?

2023-01-11 14:31:10

質問

1つのキーと複数の値で一意であることがわかりました。

どのように解決するのですか?

マルチマップには、(key, value)のペアが格納されており、keyとvalueの両方が複数回出現することがあります。

map<key, set<value>> は特定のキーに対して各値を一度だけ保存します。そのためには、キーだけでなく、値を比較できるようにする必要があります。

等しく比較される値が同等であるかどうか、あるいはいずれにせよ別々に保存したいのかどうかは、アプリケーションに依存します。おそらく、それらは異なるがセットの比較に参加しないフィールドを含んでいます。