1. 之前 enum
的问题
1.1. enum
中的字段作用域是外部可见
1 | enum A { |
相当于 enum
中的字段作用域没有限定到括号内。
1.2. enum
中的字段不是类型安全
1 | enum A { |
2. cpp11改进方案
增加了一个 enum class
语法,将 enum
限定为具体类型,
2.1. 对字段限定作用域
1 | enum class A { |
2.2. 可以精确控制底层实现类型
1 | enum class A: char { // 明确使用 char 类型 |