C++中的枚举类型

在这里插入图片描述

C++中的enum(枚举)类型是一种用户定义的类型,用于表示一组整数值,每个值都有对应的名称,增强了代码的可读性和可维护性。

1. 基本枚举类型

基本的枚举类型定义了一组命名的整数常量。

enum Color {
    RED,
    GREEN,
    BLUE
};

Color myColor = RED;

在这个例子中,REDGREENBLUE被自动赋予了整数值(默认从0开始)。

2. 显式指定枚举值

可以在定义枚举类型时为每个枚举值显式指定整数值。

enum StatusCode {
    OK = 200,
    NotFound = 404,
    Error = 500
};

StatusCode myStatus = NotFound;

这里,OKNotFoundError分别被赋予了200、404、500作为它们的值。

3. 枚举与整数类型的转换

枚举值可以隐式转换为整数,但整数到枚举类型的转换需要显式转换。

enum Color {
    RED,
    GREEN,
    BLUE
};

Color color = RED;
int colorValue = color; // 隐式转换为整数

Color anotherColor = static_cast<Color>(1); // 显式从整数转换为枚举类型

4. enum class(强类型枚举)

C++11引入了enum class(或称作强类型枚举),提供了更好的类型安全性。

enum class Color {
    RED,
    GREEN,
    BLUE
};

Color color = Color::RED; // 必须使用作用域解析运算符

// 不允许隐式转换为整数,下面的代码会引发编译错误
// int colorValue = color;

// 显式转换是允许的
int colorValue = static_cast<int>(Color::GREEN);

5. 枚举的应用

枚举通常用于表示一组相关的常量值,使得代码更加清晰易读。

enum class Day {
    MONDAY,
    TUESDAY,
    WEDNESDAY,
    THURSDAY,
    FRIDAY,
    SATURDAY,
    SUNDAY
};

void printDay(Day day) {
    if (day == Day::SATURDAY || day == Day::SUNDAY) {
        std::cout << "It's weekend!" << std::endl;
    } else {
        std::cout << "It's a weekday." << std::endl;
    }
}

printDay(Day::SATURDAY);
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值