zoukankan      html  css  js  c++  java
  • C++ 枚举

    枚举

    • enum:创建符号常量的方式
    • enum spectrum
      {
          red,
          orange,
          yellow,
          green,
          blue,
          violet,
          indigo,
          ultraviolet
      };
      

       spectrum 被称为枚举,red 等作为符号常量,这些符号常量叫做枚举量。

    • 默认将整数值赋给枚举量,第一个枚举量为 0,第二个为 1,依此类推;
    • 在不进行强制类型转换的情况下,只能将定义枚举时使用的枚举量赋给这种枚举的变量。
    • 枚举量是整型,可被提升为 int 型,但 int 类型不能自动转换为枚举类型。
    • 可以通过赋值运算符显示地设置枚举量的值,指定的值必须是整数:
      enum bits{one=1, two=2, four=4, eight=8}
      

        也可以只显式地定义其中一些枚举量地值:

      enum bigstep{first, second=100, third};
      

        注意:

      • 后面没有被初始化的枚举量的值将比其前面的枚举量大 1,first 未初始化时默认为 0.

      • 可以创建多个值相同的枚举量。
      • C++ 早期版本只能将 int 值(或提升为 int 的值)赋给枚举量,但这种限制取消了,因此可以使用 long 甚至 long long 类型的值。
    • 如果 int 值是有效的,则可以通过强制类型转换,将它赋给枚举变量;如果试图对一个不适当的值进行强制类型转换,结果是不确定的。
    • C++ 通过强制类型转换,增加了可赋给枚举变量的合法值,即使这个值不是枚举值。取值范围:
      • 上限:大于最大值的、最小的 2 的幂减去 1 。
      • 下线:找到最小值
        • 若不小于 0 ,下限为 0 。
        • 小于 0 ,采取与寻找上限方式相同,但加上负号。如 -6 对应 -8 。
  • 相关阅读:
    《Spring2之站立会议1》
    《Spring1之第十次站立会议》
    《Spring1之第九次站立会议》
    《Spring1之第八次站立会议》
    《Spring1之第七次站立会议》
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
  • 原文地址:https://www.cnblogs.com/suui90/p/12563851.html
Copyright © 2011-2022 走看看