- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
bool flag = getFlag();
switch (flag)
{
case true:
// do something
break;
case false:
// do something else
break;
default:
// do something more (??!)
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+143
bool flag = getFlag();
switch (flag)
{
case true:
// do something
break;
case false:
// do something else
break;
default:
// do something more (??!)
}
бывает же...
и код становится осмысленным ;)))
зы: Раньше специально объявлял тип tool, имеющий значение default.
и даже с С++ оно не обязательно true v. false - всегда надо проверять !false v. false. потому как false == 0, а все остальные значения есть true.
и как только ты начнешь конвертить char/short/int/long в bool/_Bool - без магического !! - не жди чудес.
6.3.1.2 When any scalar value is converted to _Bool, the result is 0 if the value compares equal
to 0; otherwise, the result is 1.
Чудеса, да ?
GCC 4.3.4 && aCC 06.06 оба делают как говорит стандарт.
а Солярная СанСтудио мля еще даже толком с99 не держит... ну да это говно еще много чего не держит.