我如何使用 C++像 C# 一样的枚举类型?
如何像 C# 一样使用 C++ 枚举类型?
考虑以下 C++ 中的定义:
enum myEnum { A, B, C};
myEnum en = A;
现在我想将第 #2 行写为 C# 中的以下行:
myEnum en = myEnum.A;
??
How can I use C++ enum types like C#?
consider following definition in c++ :
enum myEnum { A, B, C};
myEnum en = A;
Now I want to write line #2 as following line like C# :
myEnum en = myEnum.A;
??
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
嗯,C++ 中的规则不同。你能得到的最接近的是这个轻微的令人厌恶的东西:
Well, different rules in C++. Closest you could get is this slight abomination:
C++0x 引入了
enum class
,它完全符合您的要求:在 C 中,我可能会使用良好的旧前缀:
C++0x introduces
enum class
that does exactly what you want:In C, I would probably use good old prefixing:
这里的问题到底是什么?您的 C# 示例将按照您编写的方式工作(尽管它与 .NET 命名约定不匹配...)
What exactly is the question here? Your C# example will work as you have written it (although it doesn't match the .NET naming conventions...)