枚举和枚举类之间的区别

时间:2015-10-05 16:43:33

标签: c++

任何人都可以解释

之间的区别
enum 
{Type1,type2}

并且

enum class
{Type1, type2}

我经常使用前者(可能经常没有足够的封装),但我从未使用过第二个例子。

由于

枚举

1 个答案:

答案 0 :(得分:4)

enum只是将其内容溢出到封闭范围内,基本上是一个静态整数。这意味着使用==运算符,任何默认枚举的第一个元素都是相同的。

枚举类有自己的范围,不会污染它们所在的命名空间。它们还确保任何枚举类中的第一个元素不相等。

如果您有一个支持它们的编译器(现在任何主要的编译器),那么首选enum类是因为它们的好处。

我想了解更多信息,请点击此处:

http://en.cppreference.com/w/cpp/language/enum