2.4.7 Перечисления

2.4.7 Перечисления

Есть другой метод определения целых констант, который иногда более удобен, чем применение const. Например:

enum (* ASM, AUTO, BREAK *);

перечисление определяет три целых константы, называемых перечислителями, и присваивает им значения. Поскольку значения перечислителей по умолчанию присваиваются начиная с 0 в порядке возрастания, это эквивалентно записи:

const ASM = 0; const AUTO = 1; const BREAK = 2;

Перечисление может быть именованным. Например:

enum keyword (* ASM, AUTO, BREAK *);

Имя перечисления становится синонимом int, а не новым типом. Описание переменной keyword, а не просто int, может дать как программисту, так и компилятору подсказку о том, что использование преднамеренное. Например:

keyword key;

switch (key) (* case ASM: // что-то делает break; case BREAK: // что-то делает break; *)

побуждает компилятор выдать предупреждение, поскольку только два значения keyword из трех используются.

Можно также задавать значения перечислителей явно. Например:

enum int16 (* sign=0100000, // знак most_significant=040000, // самый значимый least_significant=1 // наименее значимый *);

Такие значения не обязательно должны быть различными, возрастающими или положительными.

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

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

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

2.4.7 Перечисления

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

2.4.7 Перечисления Есть другой метод определения целых констант, который иногда более удобен, чем применение const. Например:enum (* ASM, AUTO, BREAK *);перечисление определяет три целых константы, называемых перечислителями, и присваивает им значения. Поскольку значения


6.1.1. Символы как перечисления

Из книги Программирование на языке Ruby [Идеология языка, теория и практика применения] автора Фултон Хэл

6.1.1. Символы как перечисления В языке Pascal и в поздних версиях С есть понятие перечисляемого типа. В Ruby ничего подобного быть не может, ведь никакого контроля типов не производится. Но символы часто используются как мнемонические имена; стороны света можно было бы


for...in - Цикл, используемый для перечисления свойств объекта

Из книги Справочник по Flash автора Коллектив авторов

for...in - Цикл, используемый для перечисления свойств объекта for...inЦикл, используемый для перечисления свойств объекта.Синтаксис:for (var thisProp in object) { statements // Предложения обычно используют thisProp}Вместо повторения серии предложений, пока заданное проверочное выражение не даст


3.8. Перечисления

Из книги C++ для начинающих автора Липпман Стенли

3.8. Перечисления Нередко приходится определять переменную, которая принимает значения из некоего набора. Скажем, файл открывают в любом из трех режимов: для чтения, для записи, для добавления.Конечно, можно определить три константы для обозначения этих режимов:const int input