ベクトルのマップまたはセットのマップを作成できる場合、マルチマップが存在する理由がわかりません。私にとって唯一の違いは次のとおりです。
equal_range
マルチマップでキーの要素を取得するために使用し、ベクトルのマップでは単純に[]
演算子を使用して要素のベクトルを取得します。multimap.insert(make_pair(key,value))
要素を追加するためにマルチマップで使用しmap_of_vectors[key].push_back(value)
、ベクトルのマップで使用します。
では、なぜマルチマップを使用するのでしょうか。私にとっては、キーのすべての値を取得するには、2 つの反復子よりもベクトルを使用する方が適切です。
この質問は、ベクトルの unordered_map と unordered_multimap にも当てはまります。