枚举是C++中的一种基本类型,它定义了一个值的集合,通常是一个整数基础类型。它们的命名值是常量,称为枚举器。使用enum关键字声明的枚举称为无作用域枚举(unscoped enumerations),使用enum class或者enum struct声明的枚举称为作用域枚举(scoped enumeration)。后者是在C++11引入的,旨在解决无作用域枚举解决不了的事情,本节将介绍作用域枚举。