C++枚舉子相關(guān)類型解析
我們?cè)谏弦黄恼轮袨榇蠹以敿?xì)介紹了有關(guān)C++枚舉類型的相關(guān)介紹。相信大家應(yīng)該可以充分掌握這方面的知識(shí)。在這里我們將會(huì)進(jìn)一步對(duì)C++枚舉子的類型及應(yīng)用做一個(gè)詳細(xì)介紹,以加深大家對(duì)這方面的認(rèn)識(shí)程度。
C++枚舉子的類型就是它所在的那個(gè)枚舉,例如前面說到的open_modes枚舉中,input,output和append等枚舉子的類型都是open_modes。這種做法,其實(shí)是為了賦予用戶和編譯器一些有關(guān)該變量擬議中的用途的提示。
默認(rèn)下,***個(gè)C++枚舉子被賦值0,接下來的枚舉子取值是前面一個(gè)枚舉子的取值+1,例如:
- enum weather {sunny, cloudy, rainy, windy};
其中
- sunny == 0,
- cloudy == 1,
- rainy == 2,
- windy == 3;
以上是默認(rèn)情況,有時(shí)候我們希望顯式地指定某個(gè)C++枚舉子的值,那么會(huì)出現(xiàn)什么情況呢?看看:
- enum some_fruit {apple = 3, orange, banana = 4, bear};
好了,apple == 3, banana == 4; 那么orange和bear呢?記得前面說過一句,默認(rèn)下”接下來的枚舉子取值是前面一個(gè)枚舉子的取值+1“。既然這兩個(gè)枚舉子沒有顯式賦值,那么就按照默認(rèn)規(guī)則辦事,所以 orange == 4, bear == 5.
從這個(gè)例子也可以看出,同一枚舉中C++枚舉子的取值不需要***。這樣有什么用處呢?下面是個(gè)簡(jiǎn)單的例子:
- enum some_big_cities {
- Guangzhou = 4,
- Shenzhen = 4,
- Hongkong = 4,
- Shanghai = 2,
- Beijing = 3,
- Chongqi = 3
- };
以上簡(jiǎn)單地按區(qū)域,將五個(gè)城市按照華南(4),華東(2), 華北(3)的幾個(gè)城市分類了。
以上就是對(duì)C++枚舉子的相關(guān)介紹。
【編輯推薦】