C++ #defining enum states
C++ #defining enum states
我想知道当我将所有枚举的所有状态定义到他们的较短的对方时,我是否做出了一个好的决定:只是要整理代码。
代码:
枚举:
enum class ESelectedCharacterState : uint8
{
SS_WantsWalk,
SS_WantsJog,
SS_WantsCrouch,
SS_WantsProne,
SS_WantsJump
};
定义:
#define WantsWalk ESelectedCharacterState::SS_WantsWalk
#define WantsJog ESelectedCharacterState::SS_WantsJog
#define WantsCrouch ESelectedCharacterState::SS_WantsCrouch
#define WantsProne ESelectedCharacterState::SS_WantsProne
#define WantsJump ESelectedCharacterState::SS_WantsJump
没有#dedined Enum状态的情况:
switch (StateSelected)
{
case ESelectedCharacterState::SS_WantsWalk:
break;
case ESelectedCharacterState::SS_WantsJog:
break;
case ESelectedCharacterState::SS_WantsCrouch:
break;
case ESelectedCharacterState::SS_WantsProne:
break;
case ESelectedCharacterState::SS_WantsJump:
break;
default:
break;
}
#Defined Enum状态的情况:
switch (StateSelected)
{
case WantsWalk:
break;
case WantsJog:
break;
case WantsCrouch:
break;
case WantsProne:
break;
case WantsJump:
break;
default:
break;
}
这实际上是一小部分代码,但我在项目中经常使用此枚举。
使用typedef
是实现此目的的一种更干净的方法,使您的enum
的类型短。
typedef ESelectedCharacterState ESCS;
相关文章:
- enum是C++中的宏变量还是整数变量
- 是否可以从int转换为enum类类型
- 在一个模板函数中,若输入的类型是enum类,我该如何使用std::underlying_type
- 在C++中,将int值赋给enum,反之亦然
- 两个 COM 组件中 ENUM 的重复条目
- 类继承,ENUM 与 AST 类实现的问题
- C++关于ENUM的问题。我得到的响应比枚举列表大
- sizeof(enum) 可以不同于 sizeof(std::underlying_type<Enum>::
- 如何理解c++中在命名空间内部定义的枚举类型enum
- 如何将set和enum一起使用
- 如何限制从int到enum类的转换
- 编译为 cuda 内核调用提供了"expression must have integral or unscoped enum type"
- Access C++ Enum from Swift
- 密钥错误: "Couldn't find enum caffe.EmitConstraint.EmitType"
- 叮当警告"-Wsigned-enum-bitfield"的含义
- 使用 enum 参数将 C++ 对象信号连接到 QML 信号处理程序
- 在类中使用"enum"时出错
- 有什么方法可以从C 中的Enum类获取随机
- 使用ENUM输入和退出菜单,然后切换SFML
- C++ #defining enum states