普通enum和enum class的区别
1.普通enum枚举值使用时不用带类型,当两个enum类型有相同枚举名就会报错
#include<stdio.h>
enum A
{
RED
};
enum B
{
RED
};
int main()
{
printf("%d",RED);
return 0;
}
而enum class枚举值使用时带类型,就不怕枚举值重名了
2.普通enum枚举值可以隐式转换为int
enum class必须强转,不会隐式转换
1.普通enum枚举值使用时不用带类型,当两个enum类型有相同枚举名就会报错
#include<stdio.h>
enum A
{
RED
};
enum B
{
RED
};
int main()
{
printf("%d",RED);
return 0;
}
而enum class枚举值使用时带类型,就不怕枚举值重名了
2.普通enum枚举值可以隐式转换为int
enum class必须强转,不会隐式转换