跟小德学C++之枚举类型

嗨,大家好,我是出生在达纳苏斯的一名德鲁伊,我是要立志成为海贼王,啊不,是立志成为科学家的德鲁伊。最近,我发现我们所处的世界是一个虚拟的世界,并由此开始,我展开了对我们这个世界本源的探索。那么就由我来带领大家拨开迷雾,深入探究我们世界的根本。

那么我们继续分析src/server/apps/authserver目录下的Main.cpp

跟小德学C++之枚举类型_第1张图片

SERVER_PROCESS_AUTHSERVER就是我们的第二个知识点,枚举类型。

枚举类型

枚举类型是C++中的一种用户定义数据类型,它由一组整数常量组成。在C++中,枚举类型使用关键字enum来声明。枚举类型的声明形式如下:

enum TypeName { 
  enumerator1, 
  enumerator2, 
  // ... 
};

枚举类型的声明中,TypeName是枚举类型的名称,enumerator1enumerator2等是枚举类型的取值。默认情况下,enumerator1的值为0,enumerator2的值为1,以此类推。

在C++中,枚举类型的变量只能取枚举类型中定义的值。例如:

enum Color { 
  RED, 
  GREEN, 
  BLUE 
}; 
Color selectedColor = RED;

在这个例子中,selectedColor变量只能取REDGREENBLUE中的一个值。

枚举类型在C++中通常用于定义一组相关的常量,例如表示星期几、颜色等。枚举类型的使用可以提高代码的可读性和可维护性。

在C++11中引入了enum class,它可以为枚举类型提供作用域,使得枚举类型的取值更加严格和安全。例如:

enum class Week { 
  MONDAY, 
  TUESDAY, 
  WEDNESDAY 
}; 
Week today = Week::MONDAY;

通过使用enum class,可以避免枚举类型的取值发生混淆,提高代码的健壮性。

总之,枚举类型是C++中一种非常有用的数据类型,它可以用于定义一组相关的常量,并且在C++11中引入的enum class进一步增强了枚举类型的功能和安全性。

类比学习

假设你要完成一幅美丽的画卷,你要用到10种颜料。如果你每一次涂色,都要先从10种颜料中先找到当前所需的颜料,然后再上色,那效率未免太低。此时我们将颜料放到一个排列整齐的颜料盘中,那我们就可以很快的找到所需颜料,并且也不容易出现颜色相近颜料搞混了的情况。这个排列的过程,就是一种枚举的过程。

代码解析

AZ中ServerProcessTypes的枚举,主要就是要标记好authserver和worldserver进程,防止在写代码时搞混了type的值,导致两个程序互相串台了。

跟小德学C++之枚举类型_第2张图片

跟小德学C++之枚举类型_第3张图片

好了,今天就到这里吧,我要去呵护我的世界之树了,拜拜。

你可能感兴趣的:(c++,开发语言)