multimap не мержит одинаковые ключи, а хранит все пары ключ значение?
А должна мержить?🤔 В MSVC - да, хранит все пары, емнип...
Куда мержит?
Просто для экономии места могло и смержить)
Не очень представляю унифицированную реализацию map и multimap в таком случае
Объясни этот глагол мержить
ну если я засуну {"name_1", "value_1"}, {"name_1", "value_2"} можно было бы сохранить один экземпляр "name_1"
сливать в одно
Гм. Ещё вопрос: как тогда соблюдать требование value_type -> pair<const K, V>?
Ну с map все хорошо, а в multimap можно было бы в узлах хранить уникальные ключи, а значения отдельным списком к каждому узлу.
Пояснил в вопросе выше про value_type Для мапы и мультимапы крайне ценна возможность унификации как реализации, так и клиентского кода
Можно при выдаче конвертировать в пары) Я и не говорю что нужно сделать по другому, но это возможно, вот и спросил как сделано на самом деле.
Копировать в пары?😢
всем плевать на память()
Не обязательно, ну да там будут свои нюансы
В юзерспейсе на больших машинах. А еще есть кернелспейс и embedded
Увы, обязательно. Я не вижу других вариантов для получения pair<const K, V>
А, да, не сразу понял в чем подвох)
Помимо уже указанной проблемы с pair, стоит задуматься о том, что эквивалентные != идентичные ключи. Например, если ключи - это case insensitive строки, то в мультимапе может быть несколько ключей, которые сами по себе разные, но с точки зрения компаратора являются одинаковыми
Обсуждают сегодня