Найдите ближайшие ключи, существующие на границе диапазона `[x,y]` в std::map в C++.C++

Программы на C++. Форум разработчиков
Anonymous
Найдите ближайшие ключи, существующие на границе диапазона `[x,y]` в std::map в C++.

Сообщение Anonymous »

Мне нужно найти ближайшие ключи на моей карте в заданном диапазоне [x,y]. Я пытаюсь ниже

Код: Выделить всё

std::map m{ {-2,'B'}, {1, 'C'},  {2, 'A'}};

auto itCurrent = m.lower_bound(-3);
auto itNext = m.upper_bound(-3);

auto it1 = m.lower_bound(3);
auto it2 = m.upper_bound(3);
Я надеялся получить итераторы, указывающие на -2 и 2, используя low_bound и uppper_bound вокруг ключей границы запроса [-3,3]. it1 и it2 возвращают end, а itCurrent и itNext возвращают итератор на ключ -2.
Как мне получить в результате итераторы до -2 и 2?

Подробнее здесь: https://stackoverflow.com/questions/786 ... tdmap-in-c

Вернуться в «C++»