Трехстороннее сравнение в C++
Оператор <=> сравнивает объект с соседом и возвращает порядок по выбранным полям.
Для одного целого достаточно сравнить его
с одноименным полем другого объекта.
Запишем структуру Rank и проверим
упорядочивание через <:
#include <compare>
#include <iostream>
struct Rank {
int level;
auto operator<=>(const Rank& other) const {
return level <=> other.level;
}
};
int main() {
Rank low{2};
Rank high{9};
std::cout << (low < high) << "\n";
return 0;
}
Объявите структуру Step с полем
int count и operator<=> по
этому полю. В main сравните
4 и 7 через <
и выведите результат.
Для Step с одинаковым count
выведите результат == между
двумя объектами.