传统C++中枚举常量

1.被暴漏在外层作用域中,这样若是同一作用域下有两个不同的枚举类型,但含有相同的枚举常量也是不可的,比如:

enum Side{Right,Left};
enum Thing{Wrong,Right};

2. 另外一个缺陷是传统枚举值总是被隐式转换为整形,用户无法自定义类型。默认是从正数0算起。

强类型枚举

强类型枚举使用enum class语法来声明,强类型枚举值具有传统枚举的功能——命名枚举值,同时又具有类的特点——具有类域的成员和无法进行默认的类型转换。所以也称之为枚举类——enmu class。

因此:枚举类的成员的值不可以与整型隐式地相互转换。

enum class Side { Right, Left };
enum class Thing { Wrong, Right };使用:
Thing th = Thing::Right;
Side si = Side::Right;if ((int)si == 0)
{
}

另外枚举类型所使用的类型默认为int类型,也可指定除wchar_t 之外任何整型。如:

enum class Color:char{RED,GREEN,BLACK,WHITE};

C++11强类型枚举——枚举类相关推荐

  1. C++11 强类型枚举

    1.传统枚举类型的缺陷 枚举类型是C/C++中用户自定义的构造类型,它是由用户定义的若干枚举常量的集合.枚举值对应整型数值,默认从 0 开始.比如定义一个描述性别的枚举类型. enum Gender{ ...

  2. C++11 强类型枚举和普通枚举

    文章目录 **1.传统枚举类型的缺陷** **2.强类型枚举** **3.C++11对传统枚举类型的扩展** 1.传统枚举类型的缺陷 枚举类型是C/C++中用户自定义的构造类型,它是由用户定义的若干枚 ...

  3. c++ enum 给定类型_C++11作用域内枚举enum

    在C++11之前的枚举(enum),是没有办法两个枚举(enum)内有相同枚举名的.如果还不知道C++中枚举(enum)是什么,可以看这篇:枚举enum 如:苹果和桔子都有大,中,小.写个代码来说明下 ...

  4. 【C#公共帮助类】枚举独特类

    这个是枚举类,可能大家根据个人需求不同,不是很需要,但是跟着做那个项目的朋友会用到 我在这贴一下代码 1 using System; 2 using System.Collections.Generi ...

  5. C++ 学习笔记之(19) new、delete表达式、RTTI(运行时类型识别)、枚举、类成员指针、嵌套类、局部类、位域、volatile、extern C

    C++ 学习笔记之(19) new.delete表达式.RTTI(运行时类型识别).枚举.类成员指针.嵌套类.局部类.位域.volatile.extern C C++ 学习笔记之(19) new.de ...

  6. [Swift]枚举、类与结构体的对比

    为什么80%的码农都做不了架构师?>>>    ###枚举.类与结构体的对比### ####枚举与其他两者的关系#### 首先说枚举,相对比较好区分,因为我们知道,枚举与其他两者最大 ...

  7. C++11 作用域内枚举

    1 enum class MyEnum{ 2 P1 = 1, 3 P2, 4 P3, 5 P4, 6 P5 7 }; 8 9 MyEnum myEnum = MyEnum::P2; 使用作用域的方式获 ...

  8. java 修改 枚举类字段_枚举枚举和修改“最终静态”字段的方法

    java 修改 枚举类字段 在本新闻通讯中,该新闻通讯最初发表在Java专家的新闻通讯第161期中,我们研究了如何使用sun.reflect包中的反射类在Sun JDK中创建枚举实例. 显然,这仅适用 ...

  9. [C++][基础]6_枚举和类

    [C++][基础]6_枚举和类 转载于:https://www.cnblogs.com/jingmoxukong/articles/2181414.html

  10. java枚举返回字符串_枚举工具类-通过给定值获取对应的枚举类

    开发背景: 在开发过程中遇到需要通过给定的值来获取对应的枚举值,如下例枚举类中,需要通过传入"春"来获取SPRING. public 开始尝试通过Enum的内置方法valueOf( ...

最新文章

  1. IaaS、PaaS 和 SaaS:云服务模型概述
  2. 使用ros标定相机的内参和外参
  3. 长按不响应_长周期物料的预测:需求预测的一大难点
  4. mysql设置唯一键
  5. 挑选合适自己的一门编程语言
  6. 2020年,我们该如何学习WEB 前端开发
  7. Behavior Language Processing with Graph based Feature Generation for Fraud DetectioninOnline Lending
  8. 量化策略回测ATRRSI
  9. php redis 日志模式,Redis的PHP客户端
  10. 【Computer Organization笔记15】清华计组大作业布置:奋战二十天,做台计算机!
  11. stm32f103 c 语言编程,stm32f103 独立看门狗 - 全文
  12. (第十一周)俄罗斯方块测试报告
  13. 微信小程序 模拟支付宝账单的个人记账小程序
  14. 系统日报-20220421(Databricks 缘何成功?)
  15. 什么是你的核心竞争力之六善用你的弱点
  16. selenium 酷狗音乐搜索歌曲播放
  17. 正月十五夜逛风雪泉城
  18. mysql 各部门前三薪资_选出每个部门薪资前三的员工的信息
  19. 京牌车辆过户以后能不能保留原号?
  20. 腾讯10年测试老鸟分享:转行穷三年?那是你准备没做好吧···

热门文章

  1. Python3学习笔记-字符串和字符串操作
  2. 数据结构11——KMP
  3. Java基础---Java中运算符优先级(十六)
  4. matlab 相位谱_电气信息类专业课程之matlab系统仿真 第九章 提高仿真能力需要案例(1)...
  5. razorPage三元运算符使用注意
  6. echarts设置之stack参数
  7. mysql查询时间段内数据
  8. input输入框计算总和
  9. MAC系统上grep使用办法
  10. 全网首发:多个mimetypes xml设置某种文件类型的不同图标,LINUX怎样确定使用哪个