семантика switch/case
От: _hum_ Беларусь  
Дата: 16.12.15 10:33
Оценка: +1 :))) :))) :))) :))) :))) :))) :))) :))) :))
Всегда полагал, что семантика switch/case/case/... аналогична if/if/if/... без break-а и if/else if/else if/... c break-ом. А тут решил не ставить break "в конце ветки выбора", и опля — сюрприз. Так что, товарищи, кто еще так же, как и я, заблуждался, будьте внимательны:
switch(1) 
{
    case 1 : cout << '1'; // prints "1",
    case 2 : cout << '2'; // then prints "2"
}

switch(1) 
{
    case 1 : cout << '1'; break; // prints "1" and exits the switch
    case 2 : cout << '2'; break;        
}


p.s. Вопрос к знатокам — зачем такая неочевидная и "техническая" семантика?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.