在C++11中,标准引入了新的“强类型枚举”,例如:
enum class Color{red, blue, green};
int x = Color::red //C++98/03中允许,C++11中错误,不允许Color->int转换
Color y = 7 //C++98/03中允许,C++11中错误,不允许int->Color转换
Color z = red //C++98/03中允许,C++11中错误,red不在作用域内
Color c = Color::red //C++98/03中错误,C++11中允许
#include<stdio.h>
#include<stdlib.h>enum color{yellow, red, purple, white, green, black, orange};
int main()
{
enum color c;
for (c = yellow; c < orange; c++)
{
printf("%2d", c);
}
printf("\n");
system("pause");
return 0;
}
运行结果:
#include<iostream>
using namespace std;
enum color{ yellow, red, purple, white, green, black, orange };
int main()
{
enum color c;
for (c = yellow; c < orange; c++)
{
cout << " " << c;
}
cout << endl;
system("pause");
return 0;
}