Как достать определённый объект из multimap по ключу?
Лежат в одном ключе n разных объектов. Мне нужно их выписать по порядку, который зависит от поля priority в этих объектах. Чем выше значение priority, тем раньше вывести объект. Как получить доступ именно к нужному объекту по ключу, когда они лежат в одном и том же ключе?
Balabasek , std::multimap [?] определяет порядок следования элементов с одинаковым ключом согласно очередности добавления элементов с одинаковым ключом.
Если тебе нужен другой порядок следования элементов, тебе уже стоит отказаться от std::multimap в пользу контейнера контейнеров.
Для доступа к элементам у тебя есть функция find [?], которая вернет итератор коллекции элементов, хранящихся по ключу.
Если тебя не устраивает такая функциональность, тебе определенно стоит отказаться от использования std::multimap.
Balabasek, это очень хороший вопрос, быстрый ответ на который определяет квалифицированного специалиста.
Давай я порекомендую тебе материал об особенностях стандартных контейнеров C++.
Чтобы я мог ответить на твой вопрос, мне нужна вся информация об элементах и характере использования контейнера в твоем случае.
Но судя по твоему прошлому вопросу, настоящее решение для тебя предложил Adamos, а не автор текущего решения.
От себя, я бы сделал свой тип поверх контейнера std::vector, в котором я бы уже определил закон сортировки при вставке элемента. И именно этот тип я бы положил в std::map в качестве значения.
В этом случае с доступом к конкретным элементам у тебя проблем никаких не будет.