Язык программирования C++ для профессионалов


Выбирающие операторы - часть 2


switch (val) { // возможна ошибка case 1: cout << "case 1\n"; case 2: cout << "case 2\n"; default: cout << "default: case not found\n"; }

при val==1 напечатает к большому удивлению непосвященных:

case 1 case 2 default: case not found

Имеет смысл отметить в комментариях те редкие случаи, когда стандартный переход на следующий вариант оставлен намеренно. Тогда этот переход во всех остальных случаях можно смело считать ошибкой. Для завершения оператора в варианте чаще всего используется break, но иногда используются return и даже goto. Приведем пример:

switch (val) { // возможна ошибка case 0: cout << "case 0\n"; case1: case 1: cout << "case 1\n"; return; case 2: cout << "case 2\n"; goto case1; default: cout << "default: case not found\n"; return; }

Здесь при значении val равном 2 мы получим:

case 2 case 1

Отметим, что метку варианта нельзя использовать в операторе goto:

goto case 2; // синтаксическая ошибка




Начало  Назад  Вперед



Книжный магазин