相关疑难解决方法(0)

对于作用域枚举,相当于"使用名称空间X"?

我正在使用一个范围枚举来枚举我正在实现的某个状态机中的状态.例如,让我们说:

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实现文件中的有限范围内使用它,而不是邪恶.

c++ enums c++11

36
推荐指数
3
解决办法
5150
查看次数

标签 统计

c++ ×1

c++11 ×1

enums ×1