Гарантия последовательности вычислений
От: small_cat Россия  
Дата: 01.07.04 13:42
Оценка:
Доброго времени суток!
Вопрос гуру.

Есть примерно такое выражение:

bool fEq = (a1 == a2) && (b1 == b2) && ... && (z1 == z2);


Я так понимаю ,что порядок вычислений не определен, да?

А если переписать вот так?

bool fEq = false;
if((a1 == a2) && (b1 == b2) && ... && (z1 == z2))
    fEq = true;


Смысл в том, что вероятность равенства одних полей в недублированных объектах выше, чем других. Таким образом, хотелось бы сделать так, чтобы при a1!=a2 остальные поля не вычислялись. Я правильно помню, что для if эта особеноость прописана стандартом?
Спасибо.
- Простите, профессор, не пса, а когда он уже был человеком.
— То-есть он говорил? Это еще не значит быть человеком. (с) Булгаков
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.