以下博客的内容主要是摘抄博客:
使用enum class/ enum struct的好处:
1、限制了作用域,避免名字冲突;如例子中,必须使用如 NodeType::File 的形式
2、可以指定底层的数据类型来存储enum,如例子中使用的 quint16
旧enum存在的问题:
1、向整形的隐式转换;
2、不能指定底层所使用的数据类型;
3、旧enum的作用域是全局的,容易产生命名冲突;
4、不同编译器解决该问题的方法不统一。
强枚举类说明:
1、enum class 和 enum struct 是等价的;
2、与整形之间不会发生隐式类型转换,但是可以强转;
3、强化了作用域的概念,在使用枚举类中的类型时必须添加枚举类名;
4、可以指定底层数据类型。