Ich verstehe nicht, warum Multimap existiert, wenn wir eine Karte von Vektoren oder eine Karte von Mengen erstellen können. Für mich sind nur Unterschiede:
- Verwendung
equal_range
in multimap für Elemente eines Schlüssels und in der Karte von Vektoren bekommen wir einfach nutzen[]
Operator und Vektor von Elementen haben. - Verwendung
multimap.insert(make_pair(key,value))
in Multimap zum Hinzufügen von Elementen undmap_of_vectors[key].push_back(value)
in der Karte von Vektoren.
Warum also Multimap verwenden? Für mich ist es besser, einen Vektor als zwei Iteratoren zu haben, um alle Werte eines Schlüssels zu erhalten.
Diese Frage gilt auch für unordered_map von Vektoren und unordered_multimap.
multimap
: /