Re[2]: семантика switch/case
От: AlexRK  
Дата: 17.12.15 10:46
Оценка: :))
Здравствуйте, Sheridan, Вы писали:

S>Есть if и есть switch и они обязаны себя вести по разному


Они и ведут себя по разному. Ифы — набор произвольных условий, свитчи — выбор подходящего значения для одного выражения.
А вот в чью светлую голову пришло решение скрестить оператор выбора с оператором безусловного перехода...

S>switch полезен тем, что можно писать так, что код сможет выполняться не полностью. Например каттотак

S>
S>switch(flag)
S>{
S>    case doFullWork:      { checkLastWork(); clearTemp(); }
S>    case doOptimizedWork: { clearCaches(); }
S>    case justDoIt:        { doWork(); }
S>}
S>


Жуть. Goto в худшем виде.

Вообще, конструкция switch в том виде, в каком она есть в С/C++, фундаментально ущербна. На мой взгляд, это один из крупных фейлов в языкостроении. Хуже, наверное, только нуллабельные указатели.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.