我正在使用一个范围枚举来枚举我正在实现的某个状态机中的状态.例如,让我们说:
enum class CatState
{
sleeping,
napping,
resting
};
Run Code Online (Sandbox Code Playgroud)
在我定义状态转换表的cpp文件中,我想使用等价的东西,using namespace X
这样我就不需要为我的所有州名添加前缀CatState::
.换句话说,我想用sleeping
而不是CatState::sleeping
.我的转换表有很多列,因此避免使用CatState::
前缀会使事情变得更紧凑和可读.
那么,有没有办法避免一直打字CatState::
?
是的,是的,我已经意识到了陷阱using namespace
.如果有强类型枚举的等价物,我保证只在我的cpp实现文件中的有限范围内使用它,而不是邪恶.