微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将“枚举”和“枚举类”中的枚举值转换为整数

如何解决将“枚举”和“枚举类”中的枚举值转换为整数

“Enum”和“Enum Class”中Enum和Enum Class有什么区别以及如何将Enum值转换为整数?

解决方法

C++有两种枚举:

枚举类
普通枚举
以下是有关如何声明它们的几个示例:

 enum class Color { red,green,blue }; // enum class
 enum Animal { dog,cat,bird,human }; // plain enum 

两者有什么区别?

枚举类 - 枚举器名称是枚举的本地名称,它们的值不会隐式转换为其他类型(如另一个枚举或整数)

普通枚举 - 其中枚举器名称与枚举在同一范围内,并且它们的值隐式转换为整数和其他类型

在枚举中:

enum type{x=10,y,z=50,j};

int value = x;

在枚举类中:

enum class type{x=10,j};

int value= static_cast<int>(x);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。