我最近做了很多C#编程,现在回到C ++我缺少一些语言功能,不过我想知道是否可以做类似的事情。
在枚举的C#元素中使用枚举的名称作为前缀来访问,就像这样......
enum TypeA { one, two, three };
TypeA varA = TypeA.one;
在C ++中不是这种情况,元素直接通过其名称访问,没有前缀 - 如果枚举元素具有相同的名称,这也会导致重复问题。
但是,我想知道,如果有一种方法或技巧可以在C ++中做同样的事情,那么代码看起来有点像......
typedef enum { one, two, three } TypeA;
TypeA varA = TypeA.one;
能够真正创建允许我复制名称的枚举,然后使用相应的前缀访问,这对我来说真的很有帮助。
想法,有人吗?
答案 0 :(得分:0)
对于那些感兴趣的人,这是解决方案。
enum class TypeA { one, two, three };
TypeA varA = TypeA::one;