【问题标题】:Accessing enums using an identifier prefix使用标识符前缀访问枚举
【发布时间】:2018-03-04 06:33:23
【问题描述】:

我最近做了很多 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】:

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

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

【讨论】:

  • (你能投票结束你自己的问题吗?)
猜你喜欢
  • 2012-07-28
  • 1970-01-01
  • 2017-01-22
  • 1970-01-01
  • 2013-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-10
相关资源
最近更新 更多