8.10 Описания Перечислений

8.10 Описания Перечислений

Перечисления являются типами int с именованными констатами.

enum_спецификатор: enum идентификатор opt (* enum_список *)

enum_список: перечислитель enum_список , перечислитель

перечислитель: идентификатор идентификатор = константное_выражение

Идентификаторы в enum-списке описаны как константы и мгут появляться во всех местах, где требуются константы. Если не появляется ни одного перечислителя с =, то значения сооветствующих констант начинаются с 0 и возрастают на 1 по мере чтения описания слева нарпаво. Перечислитель с = дает ассоцированному с ним идентификатору указанное значение; последущие идентификаторы продолжают прогрессию от присвоенного знчения.

Имена перечислителей должны быть отличными от имен обычных переменных. Имена перечислителей с разными константми тоже должны быть различны. Значения перечислителей не обзательно должны быть различными.

Роль идентификатора в спецификаторе перечисления enum_спецификатор полностью аналогична роли имени класса; он именует определенный нутератор. Например:

enum color (* red, yellow, green=20, blue *); color col = red;

color *cp = amp;col; if (*cp == blue) // ...

делает color именем типа, описывающего различные цвета, и затем описывает col как объект этого типа, а cp как указтель на объект этого типа. Возможные значения лежат во мнжестве (* 0, 1, 20, 21 *).

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

1.3 Типы и Описания

Из книги C++ автора Хилл Мюррей

1.3 Типы и Описания Каждое имя и каждое выражение имеет тип, определяющий операции, которые могут над ними производиться. Например, описаниеint inch;определяет, что inch имеет тип int, то есть, inch является целой переменной.Описание – это оператор, который вводит имя в программе.


1.4.9 Описания

Из книги Справочное руководство по C++ автора Страустрап Бьярн

1.4.9 Описания Описание – это оператор, вводящий имя в программе. Оно может также инициализировать объект с этим именем. Выполнение описания означает, что когда поток управления доходит до описания, вычисляется инициализирующее выражение (инициализатор) и производится


2.1 Описания

Из книги Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ автора Борри Хелен

2.1 Описания Прежде чем имя (идентификатор) может быть использовано в С++ программе, он должно быть описано. Это значит, что надо задать его тип, чтобы сообщить компилятору, к какого вида сущностям относится имя. Вот несколько примеров, иллюстрирующих разнообразие


8. Описания

Из книги Язык Си - руководство для начинающих автора Прата Стивен

8. Описания Описания используются для определения интерпретации, дваемой каждому идентификатору. Они не обязательно резервируют память, связанную с идентификатором. Описания имеют вид:описание: спецификаторы_описания opt список_описателей opt ; описание_имени


8.5 Описания Классов

Из книги автора

8.5 Описания Классов Класс есть тип. Его имя становится typedef-имя (см. #8.8), которое может быть использовано даже внутри самого спецификатора класса. Объекты класса состоят из последовтельности членов.спецификатор_класса: заголовок_класса (* список_членов opt *) заголовок_класса


14.2 Описания

Из книги автора

14.2 Описания описание: спецификаторы_описания opt список_описателей opt ; описание_имени asm-описаниеописание_имени: сост идентификатор ; enum идентификатор ;сост:class struct unionasm-описание: asm ( строка ) ;спецификаторы_описания: спецификатор_описания спецификаторы_описания


R.3.1 Описания и определения

Из книги автора

R.3.1 Описания и определения Описание ($$r.7) делает известным в программе одно или несколько имен. Описание считается определением, если только оно не описывает функцию без задания ее тела (§R.8.3), не содержит описателя extern (§R.7.11), не имеет части инициализации или тела функции,


R.7 Описания

Из книги автора

R.7 Описания Описания используются для интерпретации каждого из идентификаторов; необязательно, чтобы они сопровождались выделением памяти, сопоставляемой с идентификатором. Описания имеют видописания: спецификации-описания opt список-описателей


R.7.3 Описания asm

Из книги автора

R.7.3 Описания asm Описание asm имеет вид:описание-asm: asm ( строка-литерал );Назначение описания asm определяется реализацией. Обычно оно используется для передачи информации от транслятора к


R.14.5 Описания и определения

Из книги автора

R.14.5 Описания и определения Для каждого имени шаблона типа в программе должно существовать только одно определение. Описаний может быть несколько. Определение используется для создания специальных шаблонных классов и шаблонных функций, которые будут соответствовать


R.17.3 Описания

Из книги автора

R.17.3 Описания описания: спецификации-описания opt список-описателей


R.17.5 Описания класса

Из книги автора

R.17.5 Описания класса спецификация-класса: заголовок-класса { список-членов opt }заголовок-класса: служебное-слово-класса идентификатор opt спец-базовых opt служебное-слово-класса имя-класса спец-базовых optслужебное-слово-класса: class struct unionсписок-членов: описание-члена


Структурные описания

Из книги автора

Структурные описания Метаданные- физические описания таблиц, их столбцов и атрибутов, так же как и описания всех других объектов - сами хранятся в обычных таблицах Firebird внутри базы данных. Сервер Firebird изменяет данные в этих таблицах, когда объекты базы данных создаются,


ПРИЧУДЛИВЫЕ ОПИСАНИЯ

Из книги автора

ПРИЧУДЛИВЫЕ ОПИСАНИЯ      Язык Си позволяет вам создавать сложные формы данных. Обычно мы придерживаемся более простых форм, но считаем споим долгом указать ни потенциальные возможности языка. При создании описания мы используем имя (или "идентификатор"), которое можно