成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C++枚舉類型用途及定義詳解

開發(fā) 后端
C++枚舉類型該如何正確定義?首先我們應(yīng)該知道,一個枚舉是一個類型,可以保存一組由用戶刻畫的值。那么在這里我們將會對此進(jìn)行一個詳細(xì)的介紹。

C++編程語言作為一種功能強(qiáng)大的語言,對開發(fā)人員來說作用是非常大的。不過,其中有很多應(yīng)用方式還需要我們?nèi)ゲ粩嗟奶接懀粩鄰闹屑橙〗?jīng)驗(yàn)來達(dá)到熟練的程度。下面我們就先為大家詳細(xì)介紹一下有關(guān)C++枚舉類型的相關(guān)概念。

1、枚舉enum的用途淺例

寫程序時,我們常常需要為某個對象關(guān)聯(lián)一組可選alternative屬性.例如,學(xué)生的成績分A,B,C,D等,天氣分sunny, cloudy, rainy等等。更常見的,打開一個文件可能有三種狀態(tài):input, output和append. 典型做法是,對應(yīng)定義3個常數(shù),即:

  1. const int input = 1;  
  2. const int output = 2;  
  3. const int append = 3

然后,調(diào)用以下函數(shù):

  1. bool open_file(string file_name, int open_mode); 

比如,

  1. open_file("Phenix_and_the_Crane", append); 

這種做法比較簡單,但存在許多缺點(diǎn),主要的一點(diǎn)就是無法限制傳遞給open_file函數(shù)的第2個參數(shù)的取值范圍,只要傳遞int類型的值都是合法的。(當(dāng)然,這樣的情況下的應(yīng)對措施就是在open_file函數(shù)內(nèi)部判斷第二個參數(shù)的取值,只有在1,2,3范圍內(nèi)才處理。)

使用枚舉能在一定程度上減輕這種尷尬(注1),它不但能實(shí)現(xiàn)類似于之前定義三個常量的功能,還能夠?qū)⑦@三個值組合起來成為***的組。例如:

  1. enum open_modes {input = 1, output, append}; 

以上定義了open_modes為C++枚舉類型enumeration type。每一個命名了的枚舉都是唯一的類型,是一個類型標(biāo)示器type specifier。例如,我們可以重新寫一個open_file函數(shù):

  1. bool open_file(string file_name, open_modes om); 

在open_modes枚舉中,input, output, append稱為枚舉子enumerator, 它們限定了open_modes定義的對象的取值范圍。這個時候,調(diào)用open_file函數(shù)和之前的方法還是一模一樣:

  1. open_file("Phenix_and_the_Crane", append); 

但是,如果傳遞給open_file的第二個參數(shù)不是open_modes枚舉類型值的話(注1),那么編譯器就會識別出錯誤;就算該參數(shù)取值等價(jià)于input, output, append中的某個,
也一樣會出錯哦!例如:

  1. open_file("Phenix_and_the_Crane", 1); 

2、C++枚舉類型的定義

一個枚舉是一個類型,可以保存一組由用戶刻畫的值。定義之類,枚舉的使用很像一個整數(shù)類型。枚舉的定義具有以下形式,即以關(guān)鍵詞enum開頭,接著一個可選的枚舉名,下來是由大括號{}包含著一個由逗號分隔的枚舉子列表enumerators list:

  1. enum [enumeration name] {enumerator1[=value1], 
    enumerator2[=value2], ...}; 

【編輯推薦】

  1. C++繼承基礎(chǔ)概念詳解
  2. C++逗號操作符應(yīng)用方法詳解
  3. C++內(nèi)聯(lián)函數(shù)不宜使用情況介紹
  4. C++ inline函數(shù)正確應(yīng)用方法介紹
  5. C++ new用法相關(guān)經(jīng)驗(yàn)總結(jié)
責(zé)任編輯:曹凱 來源: 博客園
相關(guān)推薦

2010-02-01 16:40:14

C++枚舉子

2024-03-14 11:54:37

C++數(shù)據(jù)類型

2010-01-20 09:54:27

C++數(shù)據(jù)類型

2024-02-19 08:11:40

C++編程尾返回類型推導(dǎo)

2010-01-25 10:41:59

C++數(shù)據(jù)類型

2023-09-13 14:42:08

typedefC++

2009-08-18 10:30:30

C#枚舉

2023-07-04 08:41:08

Redis數(shù)據(jù)類型

2024-03-14 11:27:16

C++變量編程

2010-02-04 10:02:08

C++靜態(tài)數(shù)據(jù)成員

2021-12-21 15:31:10

C++語言指針

2011-04-20 09:50:45

Virtual

2009-08-11 15:38:54

.NET集合類

2010-01-28 13:45:06

C++數(shù)組

2011-07-04 14:08:02

C++

2009-08-18 10:47:40

C#枚舉類型

2009-08-18 10:17:25

C#枚舉類型

2009-08-18 12:52:33

C#枚舉類型

2009-08-18 10:35:46

C#枚舉類型

2010-02-03 10:05:48

C++ enum枚舉
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 99久久国产 | 久久91av| 成人av一区| 亚州一区二区三区 | 国产精品一区二区三区四区 | 国产欧美一区二区三区另类精品 | 伊人中文字幕 | 中文字幕不卡在线88 | 久久国产精品视频 | 色姑娘av| 国产乱码精品一区二区三区忘忧草 | 亚洲97| 久久国产精品久久久久久 | 一区二区手机在线 | 伊人伊人 | va在线| 天天澡天天操 | 国产成人精品一区二三区在线观看 | 国产欧美一区二区三区日本久久久 | 成人一区二区电影 | 精品一区二区在线观看 | 亚洲精品成人 | 一区二区国产精品 | 亚洲黄色一级 | 三级视频网站 | 欧美成人精品 | 一区二区三区四区在线视频 | 日日干日日色 | 一区二区三区免费观看 | 午夜激情一区 | 日韩精品成人 | 久久精品在线 | 国产欧美在线视频 | 免费日韩网站 | 久久久久国产精品午夜一区 | 永久精品| 依人成人| 日本午夜免费福利视频 | 国产精品久久久久久久久免费软件 | 日韩欧美视频 | 国产亚洲欧美在线 |