写这个东西就是为了更加深刻理解枚举这个概念。
首先:我们先百度一下,什么是枚举
枚举的概念:
在数学和计算机科学理论中,一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。这两种类型经常(但不总是)重叠。 [1] 是一个被命名的整型常数的集合,枚举在日常生活中很常见,例如表示星期的SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY、SATURDAY就是一个枚举。
这么多,看起来是不是就很晕,但是我们只要挑出一句话: 是一个被命名的整型常数的集合。然后再找出这里面的关键词:整型常数的集合。
那么现在就很明显了,枚举不是一个数,而是常数的集合,就是说可能是一个或者多个整型常数。
整型:就是int ,说明他不能是float等其他类型。
常数:说明这个集合里面的几个数都是不能变的。
接着:我们再找找枚举存在的意义是什么:
枚举的意义
一、提高代码维护性,确保变量合法。
如果利用int类型表示星期一到星期日的话,就要判断输入int变量不在1-7的范围内的情况
二、提高代码可读性。
使用的时候直接Week.Monday即可
三、提高代码键入。
实话说,如果你现在是刚学C或C++,那么很明显的一个困惑,就是我也没觉得枚举有以上的好处呀,我不用枚举,用1234567更加方便呀。
其实你的想法也是对的。因为你目前的写的代码是自己一个写,并且代码长度不长,所以上面的好处你体会不到。假设一下你现在是在一个team里,你的任务是接手刚离开team的上一个成员的代码任务,首先,你得先看得东他的代码吧,那么如果它用的是大量的1234567,那么假如没有很仔细的注释,你应该会看得很吃力吧。再者,如果这个时候跑代码的时候抛出一个异常,而且这个异常是1234567的时候超出了7造成的,那么你还要很努力去排除。第三个呢就是你如果一直用枚举,思路会比较清晰,而且重复量上去了,敲代码的速度也会上去。
那么接下来的就是枚举的用法,这个比较杂,就直接学好了。
总结一下:枚举是整型常数的集合,代码不是一个人的工作,需要一个team,所以为了自己为了大家,能用枚举就用吧。