C++ 枚举类型(enum)

C++ 枚举类型(enum)_第1张图片

       C++ 11引入了 域化的枚举,使用关键字 class 标记。对于unscoped 的枚举变量 和 枚举量,它们可以自动隐式转换为整型。

       常用术语:enumeration type -- 枚举类型;enumerator -- 枚举量(在枚举类型中定义的常量);enum(enumeration object)-- 枚举变量


       在声明枚举类型的时候,可以显示指定枚举量的类型,使用冒号即可指定。scoped 枚举类型,不指定的话,默认为 int类型;unscoped 枚举类型则没有默认,视声明时各枚举量的赋值而定。此为基础类型(underlying type)。最终还是和编译器和机器有关。


       为了使我们的代码在各个机器上编译出来的代码相同,我们需要显式为枚举类型指定具体的整型(使用冒号)。这是一个好的编程习惯。


Reference

[1] 《C++ Primer Fifth Edition》  Stanley B. Lippman, Josée Lajoie, Barbara E. Moo 


你可能感兴趣的:(C++)