先声明一下:我的问题 不是 enum的定义。
翻了下C++Primer,也只对这个类型做了简短的介绍。baidu到的例子也看不出 这个类型 存在的理由。在实际应用中,有什么必须要用到这个结构的理由吗?我看了effective c++里面也提到,尽量用enum代替#define
但是代替之后怎么使用呢~?
翻了下C++Primer,也只对这个类型做了简短的介绍。baidu到的例子也看不出 这个类型 存在的理由。在实际应用中,有什么必须要用到这个结构的理由吗?我看了effective c++里面也提到,尽量用enum代替#define
但是代替之后怎么使用呢~?
a,
b,
c,
d};
得
a=0 b=1 c=2 d=3 就是这样用
例如 for(int i = 0; i < MAX2; i++) {} 等
red = 0,
blue = 1,
green = 2
}
好处2:枚举有类型检查,宏定义没有
好处3:枚举保证所有的值具有相同的内存大小(默认是int),宏定义在不同的应用场合可能有不同的内存大小当然,宏的好处是非常多的,应用范围也比枚举广泛得多,但用于定义某些差别特征的整数时,还是枚举合适。