枚举
enum enumerations
一个有名字的常数常量的列表。比如游戏中的角色状态(奔跑、冲刺、站立…)或者是创造一个整数帮你处理游戏中的某些机制,利用这些选项来选择各种代码分支。
枚举列表的第一项默认自动初始化为0,依次递增,如果我设置第一项的值为1,那么也会依次递增(此时第二项为2)。多数情况下不会指定值来初始化。
初始化
//定义玩家状态枚举
enum PlayerStatus
{
PS_Crouched = 1, //手动赋值
PS_Standing = 20,
PS_Walking = 14,
PS_Running = 30
};
创建这个枚举,实际上并不是初始化或声明一个新变量,而是创建自定义数据类型,只是他是enum类型。如果要创建这个PlayerStatus类型的实例或变量,要对他进行初始化。
PlayerStatus status;
status = PlayerStatus::PS_Running;
提示:不能将MovementStatus类型的值分配到PlayerStatus类型
因为我们在创建status已经指定他是PlayerStatus类型
Tips:
- 为了易读性,通常每一项换行,也不要把相同的枚举常量放在不同的枚举中。也可以在算数运算中使用枚举常量。
- PS_Crouched 这里的PS是PlayerStatus数据类型的缩写,这种命名方式让它更有区域性,不是必须这样做,但是最好这样(。)