物联网/嵌入式工程师
重磅升级:新增硬件电路设计与实战,让你软硬通吃,同级PK无敌!行业风口、政策倾斜,新晋热门高薪不内卷!0基础一站式就业完整路径,抢占先发优势!
有的同学可能会想到用一个 int 变量来存放,星期一就用数字 1 表示,星期二就用数字 2 表示,以此类推,星期天就用数字 7 来表示
#include <stdio.h> int main(int argc,char **argv) { int week = 1; // 1 来表示星期一 return 0; }
这样做肯定是行得通的,但是有些时候如果不注意,会产生一些问题。例如:
#include <stdio.h> int main(int argc,char **argv) { int week = 1; // 1 来表示星期一 week = 8; return 0; }
也许你写程序写着写着突然昏了头,将 week 赋值成了 8,那么这段程序是完全可以运行的,但是将会造成不可预期的 bug。
那么在 C++ 中,我们应该如何处理这些例如星期这样,已经可以确定数据具体有哪些的数据呢?
为了能让我们在处理这些数据的时候更加清晰明了,减少犯错误的机会,C++ 内置了一种特殊的类型,那就是枚举类型。
那么我们就还是用星期为例,先来定义一个星期枚举类:
enum Week { Mon, // 星期一 Tue, // 星期二 Wed, // 星期三 Thu, // 星期四 Fri, // 星期五 Sat, // 星期六 Sun, // 星期日 };
那么应该如何让使用呢?
enum Week { Mon, // 星期一 Tue, // 星期二 Wed, // 星期三 Thu, // 星期四 Fri, // 星期五 Sat, // 星期六 Sun, // 星期日 }; int main(int argc,char **argv) { Week week = Week::Fri; return 0; }
在这段程序里,week 这个枚举变量,只能是定义好的 7 个值,不能是其他的值,而且在赋值的时候,你可以直接看出来这个值是什么,而不用再去和数字进行对应。这样就可以最大限度得减少出错的可能性了。
对于例如星期,季节,性别之类的概念,我们应该优先使用枚举类型。
请验证,完成请求
由于请求次数过多,请先验证,完成再次请求
打开微信扫码自动绑定
绑定后可得到
使用 Ctrl+D 可将课程添加到书签
举报