枚举

C++的enum工具提供了另一种创建符号常量的方式,这种方式可以 、代替const。它还允许定义新类型,但必须按严格的限制进行。使用enum的句法与使用结构相似。例如:

enum color {red, green, blue};

这条语句完成两项工作。

  • 让color成为新类型的名称;
  • color被称为枚举 (enumeration),就像struct变量被称为结构一样。 将red、green、blue等作为符号常量,它们对应整数值0~2。这 些常量叫作枚举量(enumerator)。

可以用枚举名来声明这种类型的变量:

color light;light = red; // 可以,red是color枚举常量
light = 1; // 不可以,int不能转为枚举常量
light = 200;  // 不可以, 200不是color枚举常量

对于枚举,只定义了赋值运算符。具体地说,没有为枚举定义算术
运算。

color a = red;
red++; // 错误
color b = red + green; // 错误int num = 0;
num = blue + 2; // 可以,枚举常量可以提升为int

color b = red + green;非法的原因有些复杂。确实没有为枚举定义运算符+,但用于算术 表达式中时,枚举将被转换为整数,red + green将被转换为 0 + 1。这是一个合法的表达式,但其类型为int,不能将其赋给类型为color的变量b。

设置枚举量的值

enum bits {one = 1, two = 2, three = 3};

指定的值必须是整数。也可以只显式地定义其中一些枚举量的值:

enum bits {a, b = 2, c};

这里,a在默认情况下为0。后面没有被初始化的枚举量的值将比 其前面的枚举量大1。因此,c的值为3。
最后,可以创建多个值相同的枚举量:

enum {zero, a = 0, one, x = 1};

C++enum枚举类型用法相关推荐

  1. enum枚举类型用法

    文章目录 1. 枚举类型和枚举变量 1.1 枚举类型的定义和声明 1.2 枚举变量的定义和声明 2. 枚举变量和枚举常量的关联对应 3. 枚举类型和变量的应用 3.1 作为判断语句中的逻辑 3.2 一 ...

  2. C语言——enum枚举类型用法解析

    在实际的编程应用中,有的变量只有几种可能的取值,譬如说一个星期的七种可能,性别的两种可能等等.C语言为这种类型的变量的定义提供了enum关键字. 要使用枚举类型的变量,首先需要先定义一个枚举类型名,然 ...

  3. enum枚举类型用法浅析

    定义: 枚举类型定义用关键字enum标识,形式为: enum 标识符 { 枚举数据表 }: (1)enum是关键字,标识枚举类型.定义枚举类型必须用enum开头. (2)枚举数据表中的名字是程序员自己 ...

  4. c++ enum 枚举类型

    enum 枚举类型 限定作用域的枚举类型(class) enum class open_modes { input, output, append }; 不限定作用域的枚举类型 enum color ...

  5. Typescript - enum 枚举类型(数值型枚举 / 字符串枚举 / 常量枚举 / 异构枚举 / 计算枚举成员 / 联合枚举和枚举成员类型 / 运行时的枚举 / 环境枚举 / 对象与枚举)教程

    前言 Enums(枚举)是 TypeScript 的少数功能之一,它不是 JavaScript 的类型级扩展,仅支持数字的和基于字符串的枚举. 使用枚举您可以定义一组带名字的常量,并且清晰地表达意图或 ...

  6. MySQL数据库(11):数据类型-enum 枚举类型

    enum 枚举类型 例如: 性别 gender 男 女 保密 基本语法 enum(数据值 1,数据值 2...); 数据值列表在 255 个以内,使用 1 个字节来存储 数据值列表超过 255,但是小 ...

  7. 枚举类型用法_Mybatis-plus常见用法总结三

    前面已经介绍了Mybatis-plus基本用法,今天为大家分享一些Mybatis-plus高级应用 逻辑删除 自动注入 枚举类型处理 Sql注入器 多租户 表结构 CREATE TABLE `sys_ ...

  8. Java enum(枚举)的用法详解(转)

    用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法. p ...

  9. c枚举类型enum例题_C语言--enum,typedef enum 枚举类型详解

    原文:http://z515256164.blog.163.com/blog/static/32443029201192182854300/ 有改动 C语言详解 - 枚举类型 注:以下全部代码的执行环 ...

最新文章

  1. DP_knapsack
  2. opencv与两个摄像头实现双目标定与测距
  3. oracle分片键,数据库SQL语句及性能优化
  4. 爬虫必须得会的预备知识
  5. 第三章:Creating Utilities--27.增加一个本地词典
  6. C++应用过程中使用知识点
  7. 详细分析如何利用python批量爬取百度图片
  8. ie6/ie7/firefox/dispaly:inline-block:兼容性
  9. 四川大学计算机专业调剂,2019四川大学计算机学院考研调剂信息(第二批)
  10. 不平衡数据集_我们的不平衡数据集
  11. CorelDRAWX4SP2简体中文正式版精简增强版
  12. php 模拟登陆新浪微博,[Javascript] 爬虫 模拟新浪微博登陆
  13. Excel开发入门(C#和C++实例)
  14. perl依赖包安装方法
  15. 自建传奇2服务器,分享自己架设传奇服务器的详细介绍
  16. App开发智能车载之SDK篇
  17. CC2530基础实验:(1)按键控制LED跑马灯
  18. linux编辑conf,Linux:我如何编辑resolv.conf
  19. Altium Vault 2.5.9.45043 1CD统一元器件库及复用模块管理
  20. LabVIEW TCP网口通讯倍福 BeckhoffPLC ADS 通讯协议

热门文章

  1. (PAT乙级)1024 科学计数法(C语言实现)
  2. 1024 科学计数法——C/C++实现
  3. 三星a9 android7.1,安卓7.1+高通骁龙835+连三星都虚的牌照!即将来袭的一加手机5简直要逆天了...
  4. 安装、卸载nginx(基于Centos7)
  5. 简述什么是反射以及反射的使用
  6. 虚拟磁盘vhd安装linux,安装VHD的友帮拓系统
  7. div css纵向显示 html,css如何设置竖排文字?
  8. Linux shell常用命令
  9. pytest文档80 - 内置 fixtures 之 cache 写入中文显示\u4e2d\u6587问题(用打补丁方式解决)
  10. iframe滚动条设置