enum:
1、不限定作用域枚举(名字可写可不写)
使用的时候不用带名字也可以,可以直接使用red或blue
//有命名的
enum color
{
red,
};
无命名的
enum
{
blue,
}
这种类型的枚举会自动根据需求将类型转换成整型;其次,由于没有强制性的名字限定的要求,容易造成枚举类型名字的冲突
编译器不知道你要的名字到底是哪个枚举里的
2、强类型枚举
需加入关键字enum class(或者等价地使用enum struct)
enum class color
{
red,
green,
}
使用强类型枚举时必须指明其所属范围,如color::red,不用担心命名会有冲突