Автор Milena Meyer задал вопрос в разделе Другие языки и технологии
Сортировка Map/Multimap одновременно и по ключу и по значению . и получил лучший ответ
Ответ от Николай Веселуха[гуру]
Во-первых, std::map и std::multimap не предназначены для сортировки после их создания т. к. метод сортировки по ключу используется по умолчанию, и который имеет значение по умолчанию hash_compare.
Во-вторых, имеется возможность при создании контейнеров std::map или std::multimap назначить свою собственную функцию сравнения элементов. Для этого имеется конструктор, принимающий в качестве аргумента константную ссылку на такую функцию.
Если контейнер вам достался в наследство от бабушки, то всё его содержимое придётся переписать в std::vector и уже в нём отсортировать, используя два нижеперечисленных способа:
1. Передавать в метод сортировки std::sort третьим аргументом логический предикат (функциональный объект, возвращающий bool)
2. Использовать третьим аргументом лямбда-функцию.
P.S. Когда будете читать документацию по STL, начинайте с конструкторов классов и плавно переходите к изучению перегрузок нужного метода.
Николай Веселуха
Высший разум
(191945)
У каждого свой std::map
ссылка
>The comparison function of type const Traits used to order the elements in the map, which defaults to hash_compare.
Попробуйте для начала просто вывести на экран, я подозреваю, что они уже отсортированы по ключу.
ппц, а в гугле это вбить? и получишь ответ, что за деградация.