使用标识符前缀访问枚举

时间:2018-03-04 06:33:23

标签: c++ enums

我最近做了很多C#编程,现在回到C ++我缺少一些语言功能,不过我想知道是否可以做类似的事情。

在枚举的C#元素中使用枚举的名称作为前缀来访问,就像这样......

enum TypeA { one, two, three };
TypeA varA = TypeA.one;

在C ++中不是这种情况,元素直接通过其名称访问,没有前缀 - 如果枚举元素具有相同的名称,这也会导致重复问题。

但是,我想知道,如果有一种方法或技巧可以在C ++中做同样的事情,那么代码看起来有点像......

typedef enum { one, two, three } TypeA;
TypeA varA = TypeA.one;

能够真正创建允许我复制名称的枚举,然后使用相应的前缀访问,这对我来说真的很有帮助。

想法,有人吗?

1 个答案:

答案 0 :(得分:0)

对于那些感兴趣的人,这是解决方案。

enum class TypeA { one, two, three };
TypeA varA = TypeA::one;