C++中的枚举的定义

在C++中,枚举(Enumerations),是一种数据类型,它可以让程序员为一组整数值赋予更有意义的名字。枚举提供了一种方式,使得代码更加清晰、易于理解,并且可以避免魔法数字(magic numbers)的滥用。

定义枚举的语法:

enum EnumName {
    enumValue1 = expression1,
    enumValue2,
    enumValue3 = expression3,
    ...
};
  • EnumName 是枚举的名称。
  • enumValue1, enumValue2, enumValue3, 等是枚举值的名称。
  • expression1, expression3, 等是整数值,用于初始化枚举值。

示例:

enum Color {
    RED = 1,
    GREEN,
    BLUE
};

Color myColor = RED;

在这个例子中,我们定义了一个名为 Color 的枚举类型,它有三个可能的值:REDGREENBLUERED 初始化为 1,GREEN 隐式地初始化为 2(因为 RED 是 1),BLUE 为 3。

C++11 新特性:枚举类(强类型枚举)

C++11 引入了枚举类(也称为“强类型枚举”),允许更严格的类型检查,并允许枚举值具有不同的底层类型:

enum class EnumName : underlying_type {
    enumValue1 = expression1,
    enumValue2,
    ...
};
  • EnumName 是枚举类的名称。
  • underlying_type 是枚举值的底层类型,如 int, long, unsigned long 等。
  • enumValue1 是枚举值的名称。

示例:

enum class Color : int {
    RED = 1,
    GREEN,
    BLUE
};

Color myColor = Color::RED; // 注意需要使用作用域解析运算符

在这个例子中,Color 是一个枚举类,其底层类型为 int。枚举类提供了更好的类型安全,因为它们不允许隐式转换到整数类型。

注意:

  • 默认情况下,枚举值的底层类型是 int
  • 枚举值是常量,不能被修改。
  • 枚举类型并不是一种新的类型,而是基于整数的类型。
  • 枚举类成员需要使用作用域解析运算符 :: 来访问。

枚举和枚举类提供了一种在C++中使用命名常量的方式,使得代码更加清晰和易于维护。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值