Тема: if или !if =)
Показать сообщение отдельно
Старый 21.06.2012, 12:27   #12
Vladimir
MaNGOS Dev
 
Регистрация: 09.02.2010
Сообщений: 594
Сказал(а) спасибо: 315
Поблагодарили 438 раз(а) в 181 сообщениях
Vladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небес
По умолчанию

Цитата:
Пока о физической компиляции сырцов речи не шло - экзамен, вся проверка "устно".
Если тип не известен то проверка if(val !=0) еще более бредовей чем if(val). Если тип числовой то они идентично правельные. Если итоговый тип выражения bool то !=0 хоть и работает (если это не тип в c++11 с explicit bool() - val !=0 не будет компилироваться ), но тоже бред.

Цитата:
Например гнуси вообще наплевать что ей кастить в bool, и в некоторых случаях она это делает так, что хоть стой, хоть падай - например при касте енумов
Ну к 0 то они все одинаково кастанутся, а вот что за int - ненулевое значение будет сильно зависит от знаковости представления enum.
Но реальные проблемы я поимел с кастом к int энумов только из битовых полей.
"Enum m_enum: N;" - вот тогда в сочетании со знаковостью значение действительно очень неожиданно преобразуется на разных платформах.
__________________
Так как устал объяснять знайте ICQ не пользуюсь

Последний раз редактировалось Vladimir; 21.06.2012 в 12:30.
Vladimir вне форума   Ответить с цитированием