operator<=> = default просит компилятор сравнить все поля по лексикографическому правилу. Достаточно перечислить поля в типе - порядок сравнения.">
Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpOrDo 364 of 696 menu
◀ ▶

Сравнение по умолчанию в C++

Запись operator<=> = default просит компилятор сравнить все поля по лексикографическому правилу.

Достаточно перечислить поля в типе - порядок сравнения совпадет с порядком объявления. Запишем Cell с двумя целыми и выведем результат <:

#include <compare> #include <iostream> struct Cell { int row; int col; auto operator<=>(const Cell&) const = default; }; int main() { Cell a{1, 2}; Cell b{1, 5}; std::cout << (a < b) << "\n"; return 0; }

Сделайте struct PairId с int group и int slot, задайте operator<=> как = default. Выведите 1, если (0, 1) меньше (0, 2).

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить