我們在上一篇文章中為大家詳細介紹了有關C++枚舉類型的相關介紹。相信大家應該可以充分掌握這方面的知識。在這裡我們將會進一步對C++枚舉子的類型及應用做一個詳細介紹,以加深大家對這方面的認識程度。
C++枚舉子的類型就是它所在的那個枚舉,例如前面說到的open_modes枚舉中,input,output和append等枚舉子的類型都是open_modes。這種做法,其實是為了賦予用戶和編譯器一些有關該變量擬議中的用途的提示。
默認下,第一個C++枚舉子被賦值0,接下來的枚舉子取值是前面一個枚舉子的取值+1,例如:
- enum weather {sunny, cloudy, rainy, windy};
其中
- sunny == 0,
- cloudy == 1,
- rainy == 2,
- windy == 3;
以上是默認情況,有時候我們希望顯式地指定某個C++枚舉子的值,那麼會出現什麼情況呢?看看:
- enum some_fruit {apple = 3, orange, banana = 4, bear};
好了,apple == 3, banana == 4; 那麼orange和bear呢?記得前面說過一句,默認下”接下來的枚舉子取值是前面一個枚舉子的取值+1“。既然這兩個枚舉子沒有顯式賦值,那麼就按照默認規則辦事,所以 orange == 4, bear == 5.
從這個例子也可以看出,同一枚舉中C++枚舉子的取值不需要唯一。這樣有什麼用處呢?下面是個簡單的例子:
- enum some_big_cities {
- Guangzhou = 4,
- Shenzhen = 4,
- Hongkong = 4,
- Shanghai = 2,
- Beijing = 3,
- Chongqi = 3
- };
以上簡單地按區域,將五個城市按照華南(4),華東(2), 華北(3)的幾個城市分類了。
以上就是對C++枚舉子的相關介紹。