Re: семантика switch/case
От: Sheridan Россия  
Дата: 17.12.15 09:42
Оценка:
Здравствуйте, _hum_, Вы писали:

__>Всегда полагал, что семантика switch/case/case/... аналогична if/if/if/... без break-а и if/else if/else if/... c break-ом. А тут решил не ставить break "в конце ветки выбора", и опля — сюрприз. Так что, товарищи, кто еще так же, как и я, заблуждался, будьте внимательны:

Надо было быть внимательным еще в школе, когда бэйсик на z80 теребил

__>p.s. Вопрос к знатокам — зачем такая неочевидная и "техническая" семантика?

С чего это она неочевидная? Всё вполне логично тут. Есть if и есть switch и они обязаны себя вести по разному, ибо в противном случае чтото из них не нужно.
switch полезен тем, что можно писать так, что код сможет выполняться не полностью. Например каттотак
switch(flag)
{
    case doFullWork:      { checkLastWork(); clearTemp(); }
    case doOptimizedWork: { clearCaches(); }
    case justDoIt:        { doWork(); }
}

На if'ах забодаешься подобное кратко писать.
Matrix has you...
Отредактировано 17.12.2015 9:44 Sheridan . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.