enum keyword

   
enum keyword Declares enumerated type or elaborates an enumerated type name

  enum-specifier  ::= enum [  identifier  ] { [  enumerator-list  ] }  enumerator-list  ::=  enumerator-defn   enumerator-list  ,  enumerator-defn   enumerator-defn  ::=  enumerator   enumerator  =  constant-expr   enumerator  ::=  identifier   elaborated-type-specifier  := enum [::] [  nested-name  ::]  identifier  

The enum keyword declares a new enumerated type (as an enum-specifier ) or names an existing enumerated type (in an elaborated-type-specifier ). An enumerated type is an integral type that defines a set of named constants (the enumerator-list ). Each enumerator is an identifier optionally followed by a value (an equal sign and a constant expression of integral or enumerated type). Without an explicit value, the value of an enumerator is one more than the value of the preceding enumerator. The implicit value of the first enumerator is .

figs/acorn.gif

Every enumerated type is stored as an integral type. The size of the integer is implementation-defined but is large enough to hold all the enumerated values. The valid values of an enumeration include the declared enumerators and every value that can be stored in the same number of bits, even if those values are not named as enumerators.

Example

  enum  logical { no, maybe, yes }; bool logical_to_bool(  enum  logical x) // Redundant enum {   return x != no; } 

See Also

expression , identifier , type , Chapter 2

   


C++ in a Nutshell
C++ in a Nutshell
ISBN: 059600298X
EAN: 2147483647
Year: 2005
Pages: 270
Authors: Ray Lischner

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net