我不理解为什么需要multimap,因为我们可以创建一个map的向量或集合版本。
对我来说唯一的区别是:
这个问题也适用于unordered_map的向量和unordered_multimap。
- 在multimap中使用
equal_range
获取键的元素,在map of vectors中我们使用[]
运算符并具有元素的向量。 - 在multimap中使用
multimap.insert(make_pair(key,value))
添加元素,在map_of_vectors中使用map_of_vectors[key].push_back(value)
。
这个问题也适用于unordered_map的向量和unordered_multimap。
push_back
不会保留它)。 - Jcao02map<K, V>
和set<pair<K, V>, cmp_first<K, V>>
来表示,其中cmp_first比较.first
成员。 - lorro