Я не понимаю, почему multimap существует, если мы можем создать карту векторов или карту множеств. Для меня существуют только отличия:
- используя
equal_range
в multimap для получения элементов ключа и в карте векторов, мы просто используем оператор[]
и имеем вектор элементов. - с помощью
multimap.insert(make_pair(key,value))
в multimap для добавления элементов иmap_of_vectors[key].push_back(value)
в карту векторов.
Так зачем использовать multimap? Для меня лучше иметь вектор, чем два итератора, чтобы получить все значения ключа.
Этот вопрос относится также к unordered_map векторов и unordered_multimap.