C++枚举类型
C++枚举包含两种枚举类型:限定作用域的枚举类型,不限定作用域的枚举类型.
C++枚举类型属于字面值常量类型
…
…
…
限定作用域的枚举类型
定义限定作用域的枚举类型的一般形式是:enum class name
比如:
在限定作用域的枚举类型中,枚举成员的名字遵循常规的作用域准则,并且在枚举类型的作用域外是不可以访问的。
必须显示地访问枚举成员.
不限定作用域的枚举类型
不限定作用域的枚举类型定义时省略关键字class
在不限定作用域的枚举类型中,枚举成员的作用域与枚举类型本身的作用域相同。
在默认情况下,枚举值从0开始,依次加一.不过我们可以指定枚举值
枚举成员是const,因此在初始化枚举成员时提供的初始值必须是常量表达式.
注意限定作用域的枚举类型不会进行隐式转换,只有不限定作用域的枚举类型的枚举成员才会进行隐式转换。
…
…
…
指定enum的大小
enum是由某种整数类型表示的。我们可以在enum的名字后加上冒号以及我们想在该enum中使用的类型,如果没有指定,默认使用int类型.
…
…
…