7、C++枚举类型
7、枚举类型
C++的enum工具提供了另一种创建符号常量的方式,这种方式可以代替const。它还允许定义新类型,但必须按严格的限制进行。使用enum的语法与使用结构的相似。
enum spectrum {red,orange,yellow,green,blue,violet,indigo,ultraviolet};
这条语句完成两项工作:
让spectrum成为新类型的名称:spectrum别称为枚举(enumeration),就像struct变量别称为结构体一样。
将red、orange、yellow等作为符号常量,它们对应数值0~7.这些常量叫做枚举量(enumerator)
在默认情况下,将整数数值赋值给枚举量,第一个枚举量的值为0,第二个枚举量的值为1,以此类推。可以通过显示的指定整数值来覆盖默认值。
enum spectrum {red,orange,yellow,green,blue,violet,indigo,ultraviolet};
spectrum band;
band = blue; //有效的 blue是一个枚举值
band = 2000; //无效的,2000不是一个枚举值

7.1、设置枚举量的值
可以使用赋值运算符来显示的设置枚举量的值:
enum bits{one = 1,tow = 2,four = 4,eight = 8};
//指定的值必学是整数,也可以只显式地定义其中一些枚举量的值:
enum bigstep{first,second = 100,third};
//这里,first在默认情况下为0.后面没有被初始化的枚举量的值将比其前面的枚举
//量大1因此third的值为101.
//最后可以创建多个值相同的枚举量
enum {zero,null = 0,noe , numero_uno = 1};

7、C++枚举类型的更多相关文章
- Asp.Net 将枚举类型(enum)绑定到ListControl(DropDownList)控件
在开发过程中一些状态的表示使用到枚举类型,那么如何将枚举类型直接绑定到ListControl(DropDownList)是本次的主题,废话不多说了,直接代码: 首先看工具类代码: /// <su ...
- golang枚举类型 - iota用法拾遗
在c#.java等高级语言中,经常会用到枚举类型来表示状态等.在golang中并没有枚举类型,如何实现枚举呢?首先从枚举的概念入手. 1.枚举类型定义 从百度百科查询解释如下:http://baike ...
- 第三条:用私有构造器或者枚举类型强化Singleton属性
1.使用单元素的枚举类型 public enum Singleton implements Serializable { INSTANCE; private String field; public ...
- 在WPF中使用变通方法实现枚举类型的XAML绑定
问题缘起 WPF的分层结构为编程带来了极大便利,XAML绑定是其最主要的特征.在使用绑定的过程中,大家都普遍的发现枚举成员的绑定是个问题.一般来说,枚举绑定多出现于与ComboBox配合的情况,此时我 ...
- 窥探Swift之别样的枚举类型
想必写过程序的童鞋对枚举类型并不陌生吧,使用枚举类型的好处是多多的,在这儿就不做过多的赘述了.Fundation框架和UIKit中的枚举更是数不胜数,枚举可以使你的代码更易阅读并且可以提高可维护性.在 ...
- C#枚举类型的常用操作总结
枚举类型是定义了一组"符号名称/值"配对.枚举类型是强类型的.每个枚举类型都是从system.Enum派生,又从system.ValueType派生,而system.ValueTy ...
- TypeScript中的枚举类型
TypeScript拓展了Javascript原生的标准数据类型集,增加了枚举类型(enmu)和其他语言一 样 它提供我们一种数字类型的值,用来设置由于辨别的名字和方法 enum Students { ...
- Python 中的枚举类型~转
Python 中的枚举类型 摘要: 枚举类型可以看作是一种标签或是一系列常量的集合,通常用于表示某些特定的有限集合,例如星期.月份.状态等. 枚举类型可以看作是一种标签或是一系列常量的集合,通常用于表 ...
- java 枚举类型 构造函数及用法
// 1. 定义枚举类型 public enum Light { // 利用构造函数传参 RED (1), GREEN (3), YELLOW (2); // 定义私有变量 private int n ...
- .NET 中关于 TypeCode 和枚举类型的问题
因为C#中没有提供 Switch on Type 的功能,因此要判断类型通常会用一长串的if else,当然这种写法的问题是不够高效,且不够美观.因此 C# 中对常见类型提供了一组枚举值,也就是 Ty ...
随机推荐
- 性能调试工具——oprofile
oprofile利用cpu硬件层面提供的性能计数器(performance counter),通过计数采样,帮助我们从进程.函数.代码层面找出占用cpu的"罪魁祸首". 常用命令 ...
- printf 的格式
1) 类型类型字符用以表示输出数据的类型,其格式符和意义如下表所示: %c 输出单个字符 %s 输出字符串 %u 以十进制形式输出无符号整数 %d 以十进制形式输出带符号整数(正数不输出符号) ...
- 值得一做》关于并查集的进化题目 BZOJ1015(BZOJ第一页计划)(normal-)
这道题和以前做过的一道经典的洪水冲桥问题很像,主要做法是逆向思维.(BZOJ第10道非SB题纪念) 先给出题目 Description 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治者 ...
- Composert 的命令
(1) php artisan ----查看所有的命令帮助 (2) php artisan make:controller StudentController ----创建一个控 ...
- Codeforces 1109C 线段树
题意及思路:https://www.cnblogs.com/TinyWong/p/10400682.html 代码: #include <bits/stdc++.h> #define ls ...
- 用Jquery实现修改页面selecte标签的默认选择
在WEB开发中,最基础的也是用的最多的就是数据库的增删改查,修改往往以为的小部分的改动,所以我们往往是在表单中填充以前的内容然后显示给用户进行修改操作. 在填充默认内容的时候对于input标签我们往往 ...
- 修改QPushButton北京颜色和字体背景
项目需要修改按钮背景的颜色 QPalette pal = startBtn.palette(); //startBtn是我已经定义好的QPushButton对象 pal.setColor(QPalet ...
- CF1073F Choosing Two Paths
发现从顶点入手不太方便,我们从这个“公共部分最长”开始考虑问题,因为要求这一条公共部分的链最长,可以联想到树的直径,那么本题就是要求一条类似于直径的东西使两个端点除了直径这一条链之外还有不少于两个的儿 ...
- Map集合的关联数组实现
public class AssoiativeArray<K,V>{ //创建一个二维数组 private Object[][] pairs; //声明索引 private int ind ...
- c++基础之引用reference
1.何为引用 简单来说就是,比如你换了个新名字,用新名字叫你,你也会答应 2.引用vs指针 -引用没有null,好比你说你换了个新名字,但是新名字是啥总得有点东西 -一旦引用被初始化后就不可以指到另外 ...