Введение к трехстороннему сравнению в C++
Трехстороннее сравнение в C++20 дает один результат вместо набора отдельных проверок на меньше, равно и больше.
Выражение с <=> не сводится к true
или false: оно возвращает объект
порядка. Узнать, что левая сторона меньше
правой, помогает функция std::is_lt
из <compare>. Запишем сравнение
двух целых и выведем признак «меньше»:
#include <compare>
#include <iostream>
auto order = 3 <=> 5;
std::cout << std::is_lt(order) << "\n";
Для пары 3 и 5 на экран попадет
1: порядок сообщает, что первое
значение стоит левее второго на числовой оси.