C ++中的哪些类型是枚举类型?

时间:2015-05-27 15:02:41

标签: c++ types

我发现(click here)开关可以在控制C ++中的表达式时使用整数类型或“枚举类型”。

this article中“enumerate”的一个解释是枚举类型“是使用一组自定义标识符定义的类型,称为枚举数,作为可能的值”

但是,对于char,int,long,double等类型,因为它们最多只使用8个字节,所以它最多包含2个 32 个可能的元素。然后,所有这些可能的元素选择都是可以排序的(使用常见的算术比较)。因此它们都是枚举类型。此外,这个论点也适用于任何其他类型。那么,什么类型不是枚举类型?

信用将清楚地给那些能够解释枚举类型的定义的人,并且还提供关于枚举类型非枚举类型<的具体示例/ b>

提前致谢=)

2 个答案:

答案 0 :(得分:0)

枚举类型是用户定义的类型,与整数一样,可以采用一系列数值。它们使用enum关键字声明,并且通常定义一组命名值以指定它们应该保留哪些值(尽管它们不一定限于这些值)。例如:

enum colour {red, green, puce};

colour声明为枚举类型,并将redgreenpuce定义为该类型的对象可以采用的值。

这些可以在switch语句中使用,整数类型也可以使用charintlong。您可能误读了您链接到的第一篇文章,其中包含&#34;整数或枚举类型&#34;,而不仅仅是&#34;枚举类型&#34;。

答案 1 :(得分:0)

来自cppreference

  

枚举是一种不同的类型,其值仅限于其中一个   几个明确命名的常量(&#34;枚举器&#34;)。的价值观   常量是称为基础类型的整数类型的值   列举。

因此,枚举类型的示例是您可以使用enum关键字声明的任何类型。

非枚举类型的一个示例是int,因为它的值不限于一组显式命名的常量,而是所有整数(或int可以表示的所有整数它的大小)。

非枚举类型的另一个例子是指向任何东西的指针,因为指针的可能值集不是积分。