R.6.4.2 Оператор переключателя
R.6.4.2 Оператор переключателя
Оператор переключателя вызывает передачу управления на один из нескольких операторов в зависимости от значения выражения.
Выражение должно быть целочисленного типа или типа класса, для которого существует однозначное преобразование к целочисленному типу (§R.12.3). Выполняются стандартные целочисленные преобразования. Любой из операторов переключателя можно пометить одним или несколькими префиксами, имеющими вид:
case выражение-константа:
Здесь выражение-константа (§R.5.19) приводится к преобразованному типу выражения переключателя. Никакие две константы из case одного переключателя не должны иметь одинаковое значение.
В переключателе может быть только один префикс вида
default:
Операторы переключателя могут быть вложенными, тогда метки из case или default относятся к самому первому переключателю, объемлющему их.
При выполнении оператора переключателя вычисляется выражение, и его значение сравнивается с каждой из констант вариантов (case). Если одна из этих констант равна значению выражения, то управление передается в оператор, идущий за этой константой. Если ни одна из констант не совпала со значением выражения, но есть префикс default, то управление передается на оператор с этим префиксом. Если префикса default нет, и совпадения не было, то не выполняется ни один из операторов переключателя.
Если операторы, выполняемые в результате выбора, не приводят к каким-либо передачам управления, то программа продолжает выполняться "по меткам case и default" беспрепятственно. Выход из переключателя возможен с помощью оператора break (см. §R.6.6.1).
Обычно оператор, с которым имеет дело переключатель, бывает составным. Описания могут появиться в операторах переключателя. Однако переход ниже описания, в котором была явная или неявная инициализация, считается незаконным, если только описание не находится во внутреннем блоке, который обходится (т.е. полностью обходится при передаче управления, §R.6.7). Отсюда следует, что описание с явной или неявной инициализацией должно содержаться во внутреннем блоке.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Панель переключателя задач
Панель переключателя задач Отключение панели переключателя задачЧтобы отключить панель переключателя задач (который выводится по Alt+Tab), надо в разделе HKCUControl PanelDesktopприсвоить строковому параметру °CoolSwitch° значение 0 (чтобы включить - значение 1). Изменение числа строк и
R.6.4.1 Оператор if
R.6.4.1 Оператор if Выражение должно быть арифметического типа, или типа указателя, или типа класс, для которого существует однозначное преобразование в арифметический тип или тип указателя (§R.12.3).Вычисляется выражение, и если оно имеет отличный от нуля результат,
R.6.5.1 Оператор while
R.6.5.1 Оператор while В операторе while вложенный оператор выполняется до тех пор, пока значение выражения не станет равным нулю. Проверка происходит перед каждым выполнением оператора.Выражение должно быть арифметического типа, или типа указателя, или типа класс, для которого
Выбор элемента с помощью переключателя
Выбор элемента с помощью переключателя Как в жизни, так и в программном обеспечении, есть много взаимоисключающих вариантов. Покупая мороженое, вы выбираете либо с изюмом, либо с орехами, либо в фруктами, но никогда не все три сразу. Покупая платье или брюки, вы всегда
Правило 52: Если вы написали оператор new с размещением, напишите и соответствующий оператор delete
Правило 52: Если вы написали оператор new с размещением, напишите и соответствующий оператор delete Операторы new и delete с размещением встречаются в C++ не слишком часто, поэтому в том, что вы с ними не знакомы, нет ничего страшного. Вспомните (правила 16 и 17), что когда вы пишете такое
1. Оператор Select – базовый оператор языка структурированных запросов
1. Оператор Select – базовый оператор языка структурированных запросов Центральное место в языке структурированных запросов SQL занимает оператор Select, с помощью которого реализуется самая востребованная операция при работе с базами данных – запросы.Оператор Select
15.8.2. Оператор размещения new() и оператор delete()
15.8.2. Оператор размещения new() и оператор delete() Оператор-член new() может быть перегружен при условии, что все объявления имеют разные списки параметров. Первый параметр должен иметь тип size_t:class Screen {public:void *operator new( size_t );void *operator new( size_t, Screen * );// ...};Остальные параметры
Оператор WHEN
Оператор WHEN Оператор WHEN имеет следующую форму:WHEN <исключение> DO <составной-оператор>Здесь исключение может быть одним из следующих:<имя-исключения> | GDSCODE код | SQLCODE код ANY<составной-оператор> может быть одним оператором или множеством обычных операторов PSQL,
1.4.7 Оператор while
1.4.7 Оператор while Рассмотрим копирование строки, когда заданы указатель p на ее первый символ и указатель q на целевую строку. По соглашению строка оканчивается символом с целым значением 0.while (p != 0) (* *q = *p; // скопировать символ q = q+1; p = p+1; *) *q = 0; // завершающий символ 0 скопирован
1.4.8 Оператор for
1.4.8 Оператор for Рассмотрим копирование десяти элементов одного вектора в другой:for (int i=0; i«10; i++) q[i]=p[i];Это эквивалентно int i = 0; while (i«10) (* q[i] = p[i]; i++; *) но более удобочитаемо, поскольку вся информация, управляющая циклом, локализована. При применении операции ++ к целой
9.4 Оператор While
9.4 Оператор While Оператор while имеет видwhile ( выражение ) операторВыполнение подоператора повторяется, пока значение выржения остается ненулевым. Проверка выполняется перед каждым выполнением оператора. Выражение обрабатывается как в услоном операторе