物聯(lián)網(wǎng)/嵌入式工程師
重磅升級(jí):新增硬件電路設(shè)計(jì)與實(shí)戰(zhàn),讓你軟硬通吃,同級(jí)PK無敵!行業(yè)風(fēng)口、政策傾斜,新晉熱門高薪不內(nèi)卷!0基礎(chǔ)一站式就業(yè)完整路徑,搶占先發(fā)優(yōu)勢(shì)!
有的同學(xué)可能會(huì)想到用一個(gè) int 變量來存放,星期一就用數(shù)字 1 表示,星期二就用數(shù)字 2 表示,以此類推,星期天就用數(shù)字 7 來表示
#include <stdio.h> int main(int argc,char **argv) { int week = 1; // 1 來表示星期一 return 0; }
這樣做肯定是行得通的,但是有些時(shí)候如果不注意,會(huì)產(chǎn)生一些問題。例如:
#include <stdio.h> int main(int argc,char **argv) { int week = 1; // 1 來表示星期一 week = 8; return 0; }
也許你寫程序?qū)懼鴮懼蝗换枇祟^,將 week 賦值成了 8,那么這段程序是完全可以運(yùn)行的,但是將會(huì)造成不可預(yù)期的 bug。
那么在 C++ 中,我們應(yīng)該如何處理這些例如星期這樣,已經(jīng)可以確定數(shù)據(jù)具體有哪些的數(shù)據(jù)呢?
為了能讓我們?cè)谔幚磉@些數(shù)據(jù)的時(shí)候更加清晰明了,減少犯錯(cuò)誤的機(jī)會(huì),C++ 內(nèi)置了一種特殊的類型,那就是枚舉類型。
那么我們就還是用星期為例,先來定義一個(gè)星期枚舉類:
enum Week { Mon, // 星期一 Tue, // 星期二 Wed, // 星期三 Thu, // 星期四 Fri, // 星期五 Sat, // 星期六 Sun, // 星期日 };
那么應(yīng)該如何讓使用呢?
enum Week { Mon, // 星期一 Tue, // 星期二 Wed, // 星期三 Thu, // 星期四 Fri, // 星期五 Sat, // 星期六 Sun, // 星期日 }; int main(int argc,char **argv) { Week week = Week::Fri; return 0; }
在這段程序里,week 這個(gè)枚舉變量,只能是定義好的 7 個(gè)值,不能是其他的值,而且在賦值的時(shí)候,你可以直接看出來這個(gè)值是什么,而不用再去和數(shù)字進(jìn)行對(duì)應(yīng)。這樣就可以最大限度得減少出錯(cuò)的可能性了。
對(duì)于例如星期,季節(jié),性別之類的概念,我們應(yīng)該優(yōu)先使用枚舉類型。
請(qǐng)驗(yàn)證,完成請(qǐng)求
由于請(qǐng)求次數(shù)過多,請(qǐng)先驗(yàn)證,完成再次請(qǐng)求
打開微信掃碼自動(dòng)綁定
綁定后可得到
使用 Ctrl+D 可將課程添加到書簽
舉報(bào)