C++(4)
enum
c->c++
C 语言中的 enum 对象,是可以被其它非枚举值,赋值,而 C++中的枚举变量,
则只能用枚举值来赋值。
c中:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
enum Season
{
Spring, Summer, Autumn, Winter
};
int main()
{
Season s;
s = Spring;
//s = 100; //c++不支持这种赋值
return 0;
}
c+±>c++11
枚举体的声明和定义使用 enum class 或是 enum struct, 二者是等价的。
使用 enum class\enum struct 不会与现存的 enum 关键词冲突。
而且 enum class\enum struct 具有更好的类型安全和类似封装的特性(scoped nature)。