今天我们要讲的C++中的枚举(enums)是enumeration的缩写,基本上就是一些值的集合。如
一、为什么要使用枚举
如果您想要给枚举一个更实用的定义,那就是给一个值指定一个名称。
我们不要设置一维叫a,b,c的整数值,而是可以设置一个包含与整数a,b,c相对应的枚举。
这很方便我们设置一组数值,而不仅仅只是用整形作为一个类型。当然你也可以给它赋值任何整数,并且限制哪些值可以赋值。
这就是一种给值命名的方式,这在你想用一些整数来表示特定的状态或者数值时很有用。
给这些值命名后,你的代码会变得更易读(定义枚举类型的主要目的:增加程序的可读性。)
枚举值就是一个整数,在代码里,可能看起来有点不一样,它还能让你的代码保持更整洁。
假设我有三个值
int a=0;
int b=1;
int c=2;
现在我有了三个要处理的值,然后再main函数里来使用一个变量value,让value设置为上面三个值中的其中一个。
int value=b;
我可能有些代码来检查当前的value,然后执行某些操作。
if(value==b)
{
//do some thing here
}
这看起来还行,但存在一些问题,首先就是,a,b,c没有分组,在后面的代码中你可能还有变量d,或者你想重新生命a,这就出现问题了。最本质的问题就是这些数据没有分组。而且这些值都是整数,这意味着如果我突然把value赋值为5,那下面的代码就没有任何意义了。
我们希望可以定义一种数据类型,是他的值只能是这三个中的某一个值,而且可以把这些数据组合起来;这就是枚举的使用场景了。
enum Example
{
a,b,c
};
这里不用int作为类型,可以用这个枚举的名称作为一个实际类型。
所以我可以写一个Example类型的值,这样我就可以用我的枚举值了