枚举 enum 和 enum class
一 枚举(enum)变量的定义
//1.先定义枚举类型,再定义枚举变量
enum _season
{
spring,
summer,
autumn,
winter
};
enum _season s;
//2.定义枚举类型的同时定义枚举变量
enum _season
{
spring,
summer,
autumn,
winter
}s;
//3.省略枚举名称,直接定义枚举变量
enum
{
spring,
summer,
autumn,
winter
}s;
//4. 给枚举类型取别名
typedef enum gender
{
MAN,
WOMAN
}gender_t; //重定义类型enum gender 为gender_t, 命名习惯加_t,一看就是typedef重定义类型
枚举元素的值取决于定义时各枚举元素排列的先后顺序。默认情况下,第一 个枚举元素的值为 0,第二个为 1,依次顺序加 1
二 enum class 限定作用域
enum class Gender
{
MAN,
WOMAN,
UNKNOW
};
Gender gender = Gender::MAN; // 使用的时候要加作用域