我理解使用强类型“枚举类”而不是“枚举”的好处,但是同学和我想知道一个或另一个是否会占用更多内存。
答案 0 :(得分:3)
enum class
仍然只是整数值,没有额外的开销。但是,enum class
的基础类型默认为int
,而常规enum
类型未指定,并且实现可以自由选择最小整数类型。因此,理论上如果您没有指定基础类型,enum class
可能比普通enum
更大。
enum class
可以使用enum-base明确指定基础类型;如果未明确指定,则作用域枚举类型的基础类型为
int
。
enum
如果没有为第一个枚举器指定初始值设定项,则初始化值具有未指定的积分 类型。