我终于convinced我的同事使用enum class
而不是旧的enum
。
但是,在将int
与枚举类值进行比较时,现在需要进行强制转换。至少IntelliSense如此说:
由于那个不必要的演员表(因为基础类型是int),她现在想要留在旧的枚举......
请在讨论中帮助我解决问题。也许有一种技术方法可以避免演员阵容?
答案 0 :(得分:2)
您希望您的枚举值可以默认转换为整数或从整数转换,或者您不想。
如果您的值代表类似数字的内容,请选择普通enum
。
如果您的值未与其整数表示相关联,请选择enum class
。
如果您正在使用enum class
,那么您不应该与int
值进行比较;如果你这样做,那么显式演员会引起对可疑代码的注意;这是一件好事。