Является ли равенство рефлексивным для занятий? (Т.е. всегда ли экземпляры равны себе?)

В C ++ тестирование на равенство обычно выполняется каждым классом индивидуально. При любой разумной реализации можно предположить, что объект будет равен самому себе.

Компиляторы делают эту оптимизацию?

Другими словами, если &a == &bКомпилятор допускает, что a == b для типов классов?

0

Решение

Типы классов можно сравнивать только с == если есть подходящая пользовательская перегрузка оператора; и эта перегрузка может делать что угодно, «разумно» или иначе.

3

Другие решения

Один контрпример NaN, double содержащий NaN не сравнивать равных с собой.

3

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector