enum

enum是一个好东西。

In C and C++, enum types can be used to set up collections of named integer constants. (The keyword enum is short for ``enumerated''.)

syntax:

 enum name {name-list} var-list;

 

The enum keyword is used to create an enumerated type named name that consists of the elements in name-list. The var-list argument is optional, and can be used to create instances of the type along with the declaration.

如:

enum MyEnumType { ALPHA, BETA, GAMMA };

ALPHA has a value of 0, BETA has a value of 1, and GAMMA has a value of 2.

If you want, you may provide explicit values for enum constants, as in

enum FooSize { SMALL = 10, MEDIUM = 100, LARGE = 1000 };

usage

If you give an enum type a name, you can use that type for variables, function arguments and return values, and so on:

enum MyEnumType x;  /* legal in both C and C++ */
MyEnumType y;       // legal only in C++

 

C++ enum type conversion rules

 

The traditional C way of doing this was something like this:

#define SPRING   0
#define SUMMER   1
#define FALL     2
#define WINTER   3

An alternate approach using enum would be

enum { SPRING, SUMMER, FALL, WINTER };

 

There is an implicit conversion from any enum type to int. Suppose this type exists:

enum MyEnumType { ALPHA, BETA, GAMMA };

Then the following lines are legal:

int i = BETA;      // give i a value of 1
int j = 3 + GAMMA; // give j a value of 5

On the other hand, there is not an implicit conversion from int to an enum type:

MyEnumType x = 2;    // should NOT be allowed by compiler
MyEnumType y = 123;  // should NOT be allowed by compiler

Note that it doesn't matter whether the int matches one of the constants of the enum type; the type conversion is always illegal.

这里可以说明enum的一个优点。

待补充..

原文链接: https://www.cnblogs.com/justin_s/archive/2010/12/07/1899132.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    enum

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/18462

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月7日 下午7:15
下一篇 2023年2月7日 下午7:15

相关推荐