C++ 枚举

枚举是用户定义的数据类型,我们为变量指定一组值,变量只能从一小组可能的值中取出一个。我们使用enum关键字来定义枚举。

enum direction {East, West, North, South}dir;

这里枚举名称是只能取四个方向之一的指定值,声明末尾的dir是枚举变量。

让我们举一个简单的例子来理解这一点:

这里我已经将值West分配给枚举变量dir,当我显示dir的值时,它显示 1。这是因为默认情况下值从 0 开始递增,意思是东是 0,西是 1,北是 2,南是 3。

简单的枚举示例

#include<iostream>
using namespace std;
enum direction {East, West, North, South}dir;
int main()
{
   dir = West;
   cout<<dir;
   return 0;
}

另一种声明枚举变量的方法

正如我们在上面的例子中看到的,我在枚举声明中声明了枚举变量dir,还有另一种声明枚举变量的方法。

#include <iostream>
using namespace std;
enum direction {East, West, North, South};
int main(){
   direction dir;
   dir = South; 
   cout<<dir;   
   return 0;
}

输出:

3

为什么在 C++ 中使用enum

既然我们已经理解了什么是枚举以及如何在程序中使用它们,那么让我们讨论一下我们使用它们的原因:

只有在我们期望变量具有一组可能的值时才使用枚举,例如,我们有一个保存方向的dir变量。由于我们有四个方向,这个变量可以取四个值中的任何一个,如果我们尝试为这个变量赋另一个随机值,它将抛出一个编译错误。这会增加编译时检查并避免通过传入无效常量而发生的错误。

经常使用它们的另一个重要位置是switch-case语句,其中case块期望的所有值都可以在枚举中定义。这样我们就可以确保我们在switch括号中传递的enum变量没有采用它不应该接受的任何随机值。

如何更改enum的默认值

#include <iostream>
using namespace std;
enum direction {East=11, West=22, North=33, South=44};
int main(){
   direction dir;
   dir = South;
   cout<<dir; 
   return 0;
}

输出:

44
赞(0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址