dede模板网站教程,北京推广网站,网站如何与域名绑定,吴江规划建设局网站1、背景
在开发代码的过程中#xff0c;vector类型数组a的index取了一个枚举值CTR#xff0c;eg#xff1a;a[CTR]#xff0c;刚开始以为是map类型#xff0c;后面看不是#xff0c;简单的看了下c的enum类型#xff0c;原来enum按顺序默认为数字。
2、enum简介
2.1、…1、背景
在开发代码的过程中vector类型数组a的index取了一个枚举值CTRega[CTR]刚开始以为是map类型后面看不是简单的看了下c的enum类型原来enum按顺序默认为数字。
2、enum简介
2.1、枚举类型的定义
枚举类型(enumeration)是 C 中的一种派生数据类型它是由用户定义的若干枚举常量的集合。
2.2、枚举类型的格式
enum 类型名 {枚举常量表}; enum week {Sun, Mon, Tue, Wed, Thu, Fri, Sat}; // 定义枚举类型week
2.3、枚举类型与数字的映射
枚举常量代表该枚举类型的变量可能取的值编译系统为每个枚举常量指定一个整数值默认状态下这个整数就是所列举元素的序号序号从0开始。
可以在定义枚举类型时为部分或全部枚举常量指定整数值在指定值之前的枚举常量仍按默认方式取值而指定值之后的枚举常量按依次加1的原则取值。 各枚举常量的值可以重复。
枚举常量只能以标识符形式表示而不能是整型、字符型等文字常量。
eg
//默认情况
enum week {Sun, Mon, Tue, Wed, Thu, Fri, Sat};
//枚举常量Sun,Mon,Tue,Wed,Thu,Fri,Sat的值分别为0、1、2、3、4、5、6。//enum指定后后续按照前面的依次递增
enum week {Sun7, Mon1, Tue, Wed, Thu, Fri, Sat};
//枚举常量Sun,Mon,Tue,Wed,Thu,Fri,Sat的值分别为7、1、2、3、4、5、6。//enum命名按照常量命名不能是字符串和数字
enum week {Sun, Mon, Tue, Wed, Thu, Fri, Sat};
enum week {0,1,2,3,4,5,6,7};
3、enum实例
#include stdio.h
#include stdlib.h
#include string.h
#includeiostream
#include vector
using namespace std;int main()
{enum week{Sun 0,Mon,Tue,Wed,Thu,Fri,Sat};vectorfloat week_num;week_num.clear();week_num.resize(7, 0);week_num[Sun]10;week_num[Sat]9;for (int i 0; i week_num.size(); i){cout week_num[i] ,;}cout endl;return (0);
}
输出
10,0,0,0,0,0,9,
4、参考文献
C 枚举类型详解 | 菜鸟教程