4 回答

TA貢獻(xiàn)1858條經(jīng)驗(yàn) 獲得超8個贊
enum是C++中的枚舉類型,以一系列字符串,來表示整型數(shù)字,起到更方便閱讀維護(hù)代碼的效果。
1 enum的定義:
enum 的定義形式如下:
1 2 3 4 5 6 7 | enum enum_name { enum_value1, enum_value2, ... enum_valuen }; |
如果沒有定義enum變量的需求,enum_name可以省略。
在以上形式下,第一個值,enum_value1, 默認(rèn)值為0,以下各條分別為上一條加一。
如果要改變enum的第一個值,或enum各個項(xiàng)值不連續(xù),可以寫作
1 2 3 4 5 6 7 8 9 10 | enum enum_name { enum_value1= -100, enum_value2, ... enum_valuem = 1234, enum_valuem1, ... enum_valuen }; |
其中顯式賦值的enum項(xiàng),實(shí)際值就是顯式賦值的值。其它項(xiàng)仍遵從上一項(xiàng)加一的原則。
于是在這個例子中,enum_value2 = -99, enum_valuem1 = 1235。
2 enum 變量的定義:
定義一個變量的格式為
enum enum_type var = init_value;
定義一個enum_type為類型的變量var, 并初始化為init_value. 其中=init_value部分可以省略。
3 enum項(xiàng)的使用。
enum各個項(xiàng)使用方法類似于無參宏定義。在需要某值的地方,引用對應(yīng)項(xiàng)即可。
如
var = enum_value1;

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個贊
不是,枚舉類型可以用來定義變量,這點(diǎn)上說,它和int差不多,只不過每一個數(shù)值被賦予了特殊的含義,這樣的好處是不容易出錯,也不容易出現(xiàn)魔數(shù),即讓人無法理解的各種數(shù)字
最常用的好處是限定了數(shù)據(jù),避免了類似(0代表失敗,1代表成功,卻發(fā)現(xiàn)數(shù)據(jù)是2)的情況。
枚舉類型可以定義枚舉類型變量,而宏不行,甚至于你的那幾個宏會影響到正常程序(例如有個變量正好叫A)
- 4 回答
- 0 關(guān)注
- 1276 瀏覽
添加回答
舉報