<分区>
enum class
旨在提供类型安全,从而消除通过整数提升隐式转换为整数,但是一旦我们拥有 std::underlying_type_t
的优势枚举类
我不清楚。
<分区>
enum class
旨在提供类型安全,从而消除通过整数提升隐式转换为整数,但是一旦我们拥有 std::underlying_type_t
的优势枚举类
我不清楚。
最佳答案
enum
和enum class
有两个主要区别:
enum class
不允许在 enum class
值和底层类型之间进行隐式转换。是的,您可以进行显式转换,但它不会自动发生。
enum class
引入了一个新的作用域。
enum Enum
{
Value1,
Value2 // <- both values are accessible without `Enum::`
}
enum class EnumClass
{
Value1,
Value2 // <- values are accessible only with `EnumClass::` prefix
}
关于c++ - 一旦存在 std::underlying_type_t, "enum class"与简单的 "enum"相比有何优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57587203/