Re[7]: семантика switch/case
От: xobotik Россия  
Дата: 16.12.15 12:01
Оценка:
Здравствуйте, _hum_, Вы писали:

__>естественная — та, что естественна для человека, читающего программу. если написано if(a > 0) then print("positive integer"), то даже человек, первый раз читающий эту конструкцию, догадается о ее семантике. теперь проделайте то же самое со switch/case — угу.


Если брать пример Ваш:
switch (1) {
    case 1: std::cout << '1';
    case 2: std::cout << '2';
}

Что тут не естественного?
В Вашей некой системе состояние 1, интерпретируется как:
1) выполнение двух инструкций std::cout << '1'; std::cout << '2';
2) Или как ошибка, потому что забыли break;

В случае один — Вы немного криво пишите, лучше написать
switch (1) {
    case 1:
    case 2: 
        std::cout << '1';
        std::cout << '2';
}

В случае 2 — Вы немного криво пишите.
С уважением!
Отредактировано 16.12.2015 12:02 xobotik . Предыдущая версия . Еще …
Отредактировано 16.12.2015 12:02 xobotik . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.