C 列舉型別(enum)

2021-07-06 00:04:44 字數 565 閱讀 2647

c++ 11引入了 域化的列舉,使用關鍵字 class 標記。對於unscoped 的列舉變數 和 列舉量,它們可以自動隱式轉換為整型。

常用術語:enumeration type -- 列舉型別;enumerator -- 列舉量(在列舉型別中定義的常量);enum(enumeration object)-- 列舉變數

在宣告列舉型別的時候,可以顯示指定列舉量的型別,使用冒號即可指定。

scoped 列舉型別,不指定的話,預設為 int型別;unscoped 列舉型別則沒有預設,視宣告時各列舉量的賦值而定。此為基礎型別(underlying type)。最終還是和編譯器和機器有關。

為了使我們的**在各個機器上編譯出來的**相同,我們需要顯式為列舉型別指定具體的整型(使用冒號)。這是乙個好的程式設計習慣。

[1] 《c++ primer fifth edition》  

stanley b. lippman, josée lajoie, barbara e. moo 

C 列舉型別enum

關鍵字enum用於宣告列舉,列舉是一種值型別,由許多名字的常量 也叫列舉表 組成。例如 const int monday 0 const int tuesday 1 const sunday 7 可以用c 提供的列舉型別 enum week 列舉中每乙個常量都對應著乙個數值,如果不特別設定,列舉從0...

c 列舉 enum 型別

c 列舉 enum 型別 is2120 csdn 1.最平常的方法 public enum suits public void printallsuits z 2012 2 16 17 49 28 pm is2120 csdn 2.擴充套件方法 更通用,更方便一些 public static cla...

C列舉型別enum

在實際問題中,有些變數的取值被限定在乙個有限的範圍內。例如,乙個星期內有七天,一年有十二個月,乙個班每週有六門課程等等。如果把這些量說明為整型,字元型或其它型別顯然是不妥當的。為此,語言提供了一種稱為 列舉 的型別。在 列舉 型別的定義中列舉出所有可能的取值,被說明為該 列舉 型別的變數取值不能超過...