C++11有作用域的enum举例分析

技术C++11有作用域的enum举例分析本篇内容介绍了“C++11有作用域的enum举例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅

本文介绍了“C 11中带作用域的枚举分析”的相关知识。很多人在实际案例的操作中会遇到这样的困难。接下来,让边肖带领大家学习如何应对这些情况!希望大家认真阅读,学点东西!

枚举类型的困惑

从C语言过渡到C语言后,枚举被广泛用作减少程序错误的手段之一。但这也带来了一个问题:枚举值的重复。假设我们有以下三原色的定义:

C++11有作用域的enum举例分析

代码还需要定义三种原色:

C++11有作用域的enum举例分析

两者同时定义后,会出现一个问题:连红蓝两个值都重复定义。

传统的解决方法

当然,修改枚举值的名称是一种方法,但它是相对低级的,所以我们不讨论它。的一般做法是将枚举类型的定义放入不同的范围(类或命名空间)中。示例:

C++11有作用域的enum举例分析

这样,两个枚举定义就不会冲突。您可以通过以下方式使用这两种枚举类型:

C++11有作用域的enum举例分析

略显累赘,但足够有效。

C++11的解决方式

C 11引入了范围有限的枚举类型的概念。其用法如下:

C++11有作用域的enum举例分析

与前面的方法相比,我们可以发现在标准枚举类型定义格式中只添加了class关键字。其效果是同时为枚举值定义一个与枚举类型同名的范围。定义限定范围的枚举类型后,可以通过以下方式使用它:

C++11有作用域的enum举例分析

这里介绍一下“C 11中带作用域的枚举”的内容。感谢阅读。如果你想了解更多的行业,可以关注网站。边肖将为您输出更多高质量的实用文章!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/116975.html

(0)

相关推荐

  • html5map标签的用法(html5 map标签)

    技术html5中map标签怎么用小编给大家分享一下html5中map标签怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

    攻略 2021年12月17日
  • Java中Mybatis框架增删查改与核心配置的示例分析

    技术Java中Mybatis框架增删查改与核心配置的示例分析小编给大家分享一下Java中Mybatis框架增删查改与核心配置的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!原始JDBC操作原始j

    攻略 2021年10月27日
  • MySQL GUI有哪些工具

    技术MySQL GUI有哪些工具这篇文章主要介绍“MySQL GUI有哪些工具”,在日常操作中,相信很多人在MySQL GUI有哪些工具问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MyS

    攻略 2021年11月12日
  • mysql数据库表的修改删除和各种查询命令

    技术mysql数据库表的修改删除和各种查询命令 mysql数据库表的修改删除和各种查询命令一、查询表数据
    1、先进入表,使用命令:use 表名;。比如:use testdev;2、再查看表里面的内容,使

    礼包 2021年10月26日
  • JavaScript04

    技术JavaScript04 JavaScript04字符串型 String字符串型可以是引号中的任意文本,其语法为 双引号 "" 和 单引号''
    var strMsg = "我爱北京天安门~"; //

    礼包 2021年11月22日
  • Sharding ,分片模式)

    技术Sharding ,分片模式) Sharding (分片模式)Sharding (分片模式)
    副本集可以解决主节点发生故障导致数据丢失或不可用的问题,但遇到需要存储海量数据的情况时,副本集机制就束手

    礼包 2021年11月23日