如何使用C#等C++枚举类型?

Beh*_*z.M 2 c# c++ enums

如何使用C#等C++枚举类型?

考虑c ++中的以下定义:

enum myEnum { A, B, C};
myEnum en = A;
Run Code Online (Sandbox Code Playgroud)

现在我想把第2行写成如C#的下一行:

myEnum en = myEnum.A;
Run Code Online (Sandbox Code Playgroud)

??

Han*_*ant 8

好吧,C++中有不同的规则.你能得到的最近的是这种轻微的憎恶:

namespace myEnum {
    enum myEnum { A, B, C};
}

myEnum::myEnum en = myEnum::A;
Run Code Online (Sandbox Code Playgroud)


fre*_*low 7

C++ 0x引入enum class了完全符合您的要求:

enum class myEnum { A, B, C };
myEnum en = myEnum::A;
Run Code Online (Sandbox Code Playgroud)

在C中,我可能会使用旧的前缀:

enum myEnum { myEnum_A, myEnum_B, myEnum_C };
myEnum en = myEnum_A;
Run Code Online (Sandbox Code Playgroud)