C++98 中的枚举
#include <iostream>
#include <string>
enum UserInfoFields{ uiName,uiEmail,uiReputation };
int main()
{
std::cout << "val :" << uiEmail << std::endl;
return 0;
}
C++11 中的枚举类
使用enum class来定义的话,由于限定作用域的枚举类型不接受隐式转换,就要使用static_cast进行强转,整个代码会变得很啰嗦。
#include <iostream>
#include <string>
enum class jun1
{
xiaohong,
xiaoming,
};
enum class jun :int
{
siling,
junzhang,
shizhang,
};
int main()
{
std::cout << "xiaohong :" << int(jun1::xiaohong) << std::endl;
std::cout << "junzhang :" << int(jun::junzhang) << std::endl;
return 0;
}