C++ 枚舉器

2018-03-24 11:43 更新

學(xué)習(xí)C++ - C++枚舉器

C++ 枚舉類型創(chuàng)建符號(hào)常量。

例如,考慮以下語(yǔ)句:

enum my_paint {red, orange, yellow, green, blue, violet, indigo, ultraviolet};

上面的代碼使my_paint成為新類型的名稱; my_paint被稱為枚舉,很像一個(gè)結(jié)構(gòu)變量稱為結(jié)構(gòu)。

它建立紅色,橙色,黃色等,作為整數(shù)值0?7的符號(hào)常量。

這些常量稱為枚舉器。

默認(rèn)情況下,枚舉器為第一個(gè)枚舉器分配整數(shù)值,從0開(kāi)始,第二個(gè)枚舉器為1,等等。

您可以通過(guò)顯式分配整數(shù)值來(lái)覆蓋默認(rèn)值。

您可以使用枚舉名稱來(lái)聲明枚舉類型的變量:

my_paint band;  // band a variable of type my_paint

沒(méi)有類型轉(zhuǎn)換的枚舉變量的有效值是用于定義類型的枚舉值。

band = blue;       // valid, blue is an enumerator

因此,my_paint變量?jī)H限于八個(gè)可能的值。

您可以為枚舉賦值一個(gè)int值,前提是該值有效,并且使用了一個(gè)顯式類型轉(zhuǎn)換:

band = my_paint(3);         // typecast 3 to type my_paint 

設(shè)置枚舉值

您可以使用賦值運(yùn)算符顯式設(shè)置枚舉器值:

enum bits{one = 1, two = 2, four = 4, eight = 8};

賦值的值必須是整數(shù)。您還可以明確定義一些枚舉器:

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

在這種情況下,首先默認(rèn)為0。隨后未初始化的枚舉器比其前身大一個(gè)。

所以,第三個(gè)將具有值101。

最后,您可以創(chuàng)建多個(gè)具有相同值的枚舉器:

enum {zero, null = 0, one, numero_uno = 1};

這里,零和零都是0,而one和numero_uno都是1。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)