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