使用标识符前缀访问枚举

问题描述 投票:1回答:1

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

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

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

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

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

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

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

想法,有人吗?

c++ enums
1个回答
0
投票

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

enum class TypeA { one, two, three };
TypeA varA = TypeA::one;
© www.soinside.com 2019 - 2024. All rights reserved.