Перечисления enum — различия между версиями

Материал из Вики ИТ мехмата ЮФУ
Перейти к: навигация, поиск
(Новая страница: «Перечисление enum это тип, который может хранить набор именованных целочисленных значений, …»)
 
Строка 9: Строка 9:
 
После своего определения перечисление используется почти так же, как и целые типы. Можно объявлять переменные или параметры функций соответствующего типа (в нашем примере — типа keyword). Однако зачастую именами из типа перечисления пользуются как обычными целочисленными константами и сравнивают с ними переменные обычных целочисленных типов, например int.
 
После своего определения перечисление используется почти так же, как и целые типы. Можно объявлять переменные или параметры функций соответствующего типа (в нашем примере — типа keyword). Однако зачастую именами из типа перечисления пользуются как обычными целочисленными константами и сравнивают с ними переменные обычных целочисленных типов, например int.
  
Важно понимать, что перечисление не образуют области видимости, потому имена в различных перечислениях должны отличаться друг от друга (в том время как значения внутри одного перечисления могут совпадать).
+
Важно понимать, что перечисление не образуют ''области видимости'' (''scope''), потому имена в различных перечислениях должны отличаться друг от друга (и от других констант и имён функций). Значения внутри одного перечисления могут совпадать.
  
 
Обратите внимание, что для элементов перечислений, как и для всех константных значений, принято использовать ''имена в верхнем регистре''.
 
Обратите внимание, что для элементов перечислений, как и для всех константных значений, принято использовать ''имена в верхнем регистре''.
  
 
[[Категория:C++]]
 
[[Категория:C++]]

Версия 11:07, 23 сентября 2010

Перечисление enum это тип, который может хранить набор именованных целочисленных значений, заданных пользователем.

enum {REGISTER, AUTO, BREAK};

определяет три целочисленных константы, называемые элементами перечисления, и присваивает им значения. По умолчанию, элементам перечисления присваиваются значения начиная с нуля; значение для каждого следующего элемента увеличиваются на единицу. Таким образом, REGISTER == 0, AUTO == 1 и BREAK == 2. Перечислению можно присвоить имя. Например:

enum keyword {REGISTER, AUTO, BREAK};

Элементам перечисления можно задавать значения явно. Если задана только часть значений, то нумерация продолжается автоматически начиная с последнего указанного значения, например:

enum keyword {REGISTER, AUTO = 3, BREAK};

REGISTER == 0, AUTO == 3 и BREAK == 4.

После своего определения перечисление используется почти так же, как и целые типы. Можно объявлять переменные или параметры функций соответствующего типа (в нашем примере — типа keyword). Однако зачастую именами из типа перечисления пользуются как обычными целочисленными константами и сравнивают с ними переменные обычных целочисленных типов, например int.

Важно понимать, что перечисление не образуют области видимости (scope), потому имена в различных перечислениях должны отличаться друг от друга (и от других констант и имён функций). Значения внутри одного перечисления могут совпадать.

Обратите внимание, что для элементов перечислений, как и для всех константных значений, принято использовать имена в верхнем регистре.