std::strong_ordering. Тип подходит, когда любые два различных значения всегда упорядочены и равенство означает.">
Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpOrSt 366 of 696 menu
◀ ▶

Сильный порядок в C++

Полная заменяемость при равенстве - случай для std::strong_ordering. Тип подходит, когда любые два различных значения всегда упорядочены и равенство означает полную заменяемость.

Тип возвращаемого значения пишут явно в объявлении operator<=>. Запишем Meter с одним целым и выведем сравнение через >:

#include <compare> #include <iostream> struct Meter { int units; std::strong_ordering operator<=>(const Meter& other) const { return units <=> other.units; } }; int main() { Meter big{50}; Meter small{12}; std::cout << (big > small) << "\n"; return 0; }

Создайте struct Index с int pos и operator<=>, возвращающим std::strong_ordering. Выведите 1, если 10 больше 3.

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