Найдите ближайшие ключи, существующие на границе диапазона `[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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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