C++ enum 枚举的使用

目录

说明:

枚举弊端:

枚举优势:

枚举使用:

定义枚举:

使用枚举:

结果:


说明:

在此之前我是很不习惯使用枚举的,因为枚举虽然能让代码可读性很好,但是也有着很大的缺点,那就是无法进行数据类型检测,在尤其是早在swtich等语句中使用,你无法知道你的case是不是你想要的值,比如你的case是 case 1:然而为了使case语句变得可读性很高,你可以使用case one:然而这也是枚举的弊端,你不知道这个one是不是你想要的1,万一是0,编译器是无法通过语法错误提示你.所以枚举简直就是一把双刃剑.用的好代码可读性瞬间上升一个台阶,用的不好那简直就是阅读代码的灾难.

枚举弊端:

编译器是无法通过语法错误提示你.

枚举优势:

好代码可读性瞬间上升一个台阶

枚举使用:

刚好,最近我就遇到了这个问题,再三取舍,我决定使用枚举,(代码是给人读的,至于弊端多注意写代码的习惯就好了,大不了使用断言)

定义枚举:

最好是在头文件中定义

enum CLASSName
{
	ClassA = 0,
	ClassB,
	ClassC,
	ClassD
};

使用枚举:

第一个函数是遍历枚举

第二个函数是使用switch语句使用枚举,个人认为枚举跟switch是绝配,这样你就可以很清楚的知道你选择的是那个case,不至于case都是数字,开始写的时候还好,等半个月下来,自己都不知道写的是啥了.

void testEnum()
{
	CLASSName cn;
	for (cn = ClassA; cn <= ClassD; cn=(CLASSName)(cn + 1))
	{
		PrintEnum(cn);
	
	}
	
}
void PrintEnum(CLASSName& CN)
{
	switch (CN)
	{
	case ClassA:
		std::cout << "ClassA = " << ClassA << std::endl;
		break;
	case ClassB:
		std::cout << "ClassB = " << ClassB << std::endl;
		break;
	case ClassC:
		std::cout << "ClassC = " << ClassC << std::endl;
		break;
	case ClassD:
		std::cout << "ClassD = " << ClassD << std::endl;
		break;
	}
}

结果:

 先简单使用一下,等需要用到枚举的高级用法再回来补充.用到啥学啥.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

波雅_汉库克

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值