Справочное руководство по C++


Описание перечисления


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

enum_спецификатор: enum идентификатор opt { enum_список }

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

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

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

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

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

enum color { chartreuse, burgundy, claret=20, winedark }; ... color *cp, col; ... col = claret; cp = ... if (*cp == burgundy) ...

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



Содержание раздела