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

Равенство по умолчанию в C++

Проверка на равенство для агрегата с несколькими полями оформляется как operator== = default без ручного перебора членов.

Стандарт сравнивает каждое поле попарно; результат истинен только при полном совпадении. Запишем Label с целым и строкой и выведем ==:

#include <iostream> #include <string> struct Label { int code; std::string text; bool operator==(const Label&) const = default; }; int main() { Label left{7, "ok"}; Label right{7, "ok"}; std::cout << (left == right) << "\n"; return 0; }

Объявите struct Version с двумя int: major и minor. Включите operator== как = default. Сравните две одинаковые версии и выведите результат.

Для Version{1, 0} и Version{1, 1} выведите результат ==.

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