Доброго времени суток!
Вопрос гуру.
Есть примерно такое выражение:
bool fEq = (a1 == a2) && (b1 == b2) && ... && (z1 == z2);
Я так понимаю ,что порядок вычислений не определен, да?
А если переписать вот так?
bool fEq = false;
if((a1 == a2) && (b1 == b2) && ... && (z1 == z2))
fEq = true;
Смысл в том, что вероятность равенства одних полей в недублированных объектах выше, чем других. Таким образом, хотелось бы сделать так, чтобы при a1!=a2 остальные поля не вычислялись. Я правильно помню, что для if эта особеноость прописана стандартом?
Спасибо.
- Простите, профессор, не пса, а когда он уже был человеком.
— То-есть он говорил? Это еще не значит быть человеком. (с) Булгаков