21xrx.com
2024-12-22 23:41:23 Sunday
登录
文章检索 我的文章 写文章
C++11中的枚举类
2023-06-27 04:14:07 深夜i     --     --
C++11 枚举类 枚举变量 强类型枚举 底层类型

C++11是C++语言的一个重大更新版本,在这个版本中,为枚举类型引入了一个新特性——枚举类。

在C++11中,枚举类可以像类一样被声明,可以在类中添加成员函数和数据成员,而且还可以设置访问权限。使用枚举类比传统的枚举类型更加灵活和面向对象。

下面是一个简单的示例代码:


enum class Color blue ;

使用了enum class关键字声明的枚举类,名字为Color,枚举项为red、green、blue。其中enum class关键字是新引入的,在C++11之前只有enum关键字。

枚举类中的成员可以被定义为枚举常量或枚举项。枚举常量不需要被具体赋值,编译器会自动为它们分配一个值。而枚举项可以指定特定的值,甚至可以是表达式。

在C++11中,可以使用作用域解析运算符::来访问枚举项。示例代码如下:


int main()

  Color c = Color::red;

  return 0;

在这个示例程序中,Color::red表示访问枚举项red。通过这种方式,避免了传统的枚举类型中常见的命名冲突。

另外,枚举类也可以用于switch语句中,这样可以使代码更加简洁。示例代码如下:


void doSomething(Color c)

{

  switch (c)

  

  case Color::red:

    // do something

    break;

  case Color::green:

    // do something

    break;

  case Color::blue:

    // do something

    break;

  

}

在这个示例程序中,switch语句中使用了枚举类Color的枚举项进行判断。

总的来说,在C++11中的枚举类提高了枚举类型的灵活性和可维护性,避免了因命名冲突引起的bug。使用枚举类可以使代码更加安全,简单和易于理解。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复