equal_range возвращает std::pair из двух итераторов: начало и конец диапазона равных ключей. В std::map каждый ключ уникален, поэтому диапазон либо.">
Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpNdER 176 of 696 menu
◀ ▶

Диапазон equal_range в std::map в C++

Метод equal_range возвращает std::pair из двух итераторов: начало и конец диапазона равных ключей.

В std::map каждый ключ уникален, поэтому диапазон либо пустой, либо содержит ровно одну пару: оба итератора совпадают с end, если ключа нет, иначе first указывает на элемент, а second - на следующий ключ.

Запишем словарь, запросим диапазон для имеющегося и отсутствующего ключа:

#include <map> std::map<std::string, int> tags = {{"red", 1}, {"blue", 2}}; auto hit = tags.equal_range("red"); auto miss = tags.equal_range("green"); std::cout << hit.first->second << "\n"; std::cout << (miss.first == miss.second) << "\n";

Создайте словарь из двух ключей, вызовите equal_range для существующего ключа и выведите значение через итератор first.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить