Мне нужно придумать код, который проверяет, попадает ли заданное целое число в пределы диапазона. (. Спектр представлен парой целых чисел)Проверка того, что целое число попадает в диапазон, используя только <operator
Таким образом, учитывая диапазон r
, определенный как std::pair<int, int>
и тест-целое число n
, я хочу сказать:
if (n >= r.first && n <= r.second)
Загвоздка , Для этого мне нужно использовать функцию сравнения std::less<int>
, что означает, что я могу работать только с оператором меньше.
Я пытаюсь найти эквивалентное выражение. Я уверен, что у меня все правильно, но я не совсем уверен.
Выражение я придумал это:
(!cmp(n, r.first) && !cmp(r.second, n))
где cmp
является экземпляром std::less<int>
ли я сделать это правильно?
«Я сделал, что правильно? " Да. – aschepler
Это домашнее задание? Трудно понять, почему вы не можете использовать полный набор операторов по известным значениям «int». –