Будет ли компилятор C++ VS2008 оптимизировать следующий оператор if? ⇐ C++

Программы на C++. Форум разработчиков
Anonymous
Будет ли компилятор C++ VS2008 оптимизировать следующий оператор if?

Сообщение Anonymous »

if (false == x) { ...}


в отличие от:

if (!x) { ... }


и

if (false == f1()) { ...}


в отличие от:

if (!f1()) { ... }


Я думаю, что версия if(false == ... более читабельна. Вы согласны или можете предложить другой трюк? Будет ли он так же быстро? Спасибо.

Вот почему мне не нравится !x:

if (25 == a->function1(12345, 6789) &&
45 == b->function1(12345, 6789) &&
!c->someOtherFunction(123)) { ... }


Следующее кажется лучше:

if (25 == a->function1(12345, 6789) &&
45 == b->function1(12345, 6789) &&
false == c->someOtherFunction(123)) { ... }


Подробнее здесь: https://stackoverflow.com/questions/191 ... -statement

Вернуться в «C++»