老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

C++枚舉enum使用詳解-創新互聯

目錄

站在用戶的角度思考問題,與客戶深入溝通,找到遂昌網站設計與遂昌網站推廣的解決方案,憑借多年的經驗,讓設計與互聯網技術結合,創造個性化、用戶體驗好的作品,建站類型包括:網站建設、成都網站建設、企業官網、英文網站、手機端網站、網站推廣、國際域名空間、網絡空間、企業郵箱。業務覆蓋遂昌地區。

一.什么是枚舉enum(WHAT)

二.使用枚舉enum的場景(WHEN and WHERE)

三.如何使用枚舉enum(HOW)

1)枚舉的定義

2)枚舉的初始化

3)指定枚舉類型?

4)聲明枚舉對象

5)枚舉對象賦值問題

6)枚舉的取值范圍

四.枚舉enum的應用


一.什么是枚舉enum(WHAT)

枚舉(enumeration)和類相似,能夠定義一種新的數據類型,不同的是,枚舉是將一組整形常量組織在一起,所以和類的使用方法有一些類似之處。

二.使用枚舉enum的場景(WHEN and WHERE)

實際中經常使用枚舉來做數據的標識,可以實現對數據的分類,打個比方類似于用Ture和False區分是與非,而枚舉也可以在此基礎上也用整形常量的方式對數據進行更多的分類。

三.如何使用枚舉enum(HOW) 1)枚舉的定義

1.不限定作用域的枚舉

enum color
	{
		RED,
		GREEN,
		BLUE
	};
2.限定作用域的枚舉

在enum后面加關鍵字class或者struct

enum class color
	{
		RED,
		GREEN,
		BLUE
	};

3.二者區別?

解決枚舉值重名的問題,保持代碼的可讀性

//定義兩種枚舉
	enum class color_inner
	{
		RED,
		GREEN,
		BLUE
	};

	enum color_out
	{
		RED,
		GREEN,
		BLUE
	};

//聲明并賦值
color_out backColor = RED; //正確
color_inner forntColor = RED; //錯誤,默認使用了out中的RED,沒有指定作用域

color_out backColor = color_out::RED; //正確,out也可以顯示指定作用域
color_inner forntColor = color_inner::RED;  //正確,inner必須指定作用域
2)枚舉的初始化

1.默認情況下,枚舉值從0開始,依次加1

enum color
	{
		RED,  //默認是0
		GREEN, //默認是1
		BLUE  //默認是2
	};
2.手動指定枚舉值

a.可以全部指定

enum color
	{
		RED=1,  
		GREEN=5, 
		BLUE=7  
	};

b.可以部分指定,未被初始化的枚舉值的值默認將比其前面的枚舉值大1

enum color
	{
		RED=2,  
		GREEN,  //默認值是3,比前一個多1
		BLUE=7  
	};

c.可以重復指定

enum color
	{
		RED=8,  
		GREEN=5, 
		BLUE=8  //重復指定
	};
3)指定枚舉類型?

C++11中,還可以指定給枚舉類型賦值的整數類型,在enum的名字后面加上冒號以及指定的類型,限定作用域枚舉默認為32位整形,在某些情況下,甚至沒必要用到32位,為了節省開銷,甚至可以用8位整形unsigned char,將類型指定成后,枚舉變量變成了8位整型,減少了內存使用。不限定作用域的枚舉類型,其成員不存在默認類型,只需要知道潛在類型是足夠大的,肯定能容納枚舉值就行。

需要注意的是,不能指定為float或者double等類型,因為枚舉量必須是一個整數,float和double都不是整數。

enum color:unsigned long
	{
		RED=1,  
		GREEN=5, 
		BLUE=7  
	};
4)聲明枚舉對象

a.先聲明變量,再對變量賦值

#includeusing namespace std;

int main()
{
	enum color
	{
		RED,
		GREEN,
		BLUE
	};

	enum color backColor, frontColor, innerColor;

	backColor = RED;
	frontColor = GREEN;
	innerColor = BLUE;

	cout<< backColor<< "--"<< frontColor<< "--"<< innerColor<< endl;
	system("pause");
	return 0;
}

b.聲明變量的同時賦初值

#includeusing namespace std;

int main()
{
	enum color
	{
		RED,
		GREEN,
		BLUE
	};

	enum color backColor = RED, frontColor = GREEN, innerColor = BLUE;

	cout<< backColor<< "--"<< frontColor<< "--"<< innerColor<< endl;
	system("pause");
	return 0;
}

c.定義類型的同時聲明變量,然后對變量賦值

#includeusing namespace std;

int main()
{
	enum color
	{
		RED,
		GREEN,
		BLUE
	}backColor, frontColor, innerColor;

	backColor = RED;
	frontColor = GREEN;
	innerColor = BLUE;

	cout<< backColor<< "--"<< frontColor<< "--"<< innerColor<< endl;
	system("pause");
	return 0;
}

d.類型定義,變量聲明,賦初值同時進行

#includeusing namespace std;

int main()
{
	enum color
	{
		RED,
		GREEN,
		BLUE
	}backColor = RED, frontColor = GREEN, innerColor = BLUE;

	cout<< backColor<< "--"<< frontColor<< "--"<< innerColor<< endl;
	system("pause");
	return 0;
}
5)枚舉對象賦值問題

a.不能將非枚舉量賦給枚舉變量,能將枚舉量賦給非枚舉變量,因為枚舉量是符號常量,編譯器會自動把枚舉量轉換為int類型

int a;
a=RED;

b.枚舉變量不能進行算術運算,對于枚舉,只定義了賦值運算符,沒有為枚舉定義算術運算,錯誤的算數計算會導致范圍超限問題

RED++;  //錯誤
RED=GREEN+BLUE;  //錯誤

c.賦值超限問題

backColor = color(2); //等同于backColor = BLUE;
backColor = color(10);  //錯誤,超過color元素上限
6)枚舉的取值范圍

上限:需要知道枚舉量的大值。找到大于這個大值的、最小的2的冪,將它減去1,得到的便是取值范圍的上限

enum color:unsigned long
	{
		RED=1,  
		GREEN=5, 
		BLUE=7  //上限是8-1=7
	};

    backColor = color(7); //所以可以取到7

下限:枚舉量的最小值不小于0,則枚舉下限取0;枚舉量的最小值小于0,則枚舉下限是 小于最小枚舉量的 大的2的冪,加上1。

enum color:unsigned long
	{
		RED=-1,  
		GREEN=-5, 
		BLUE=-7  //下限是-8+1=-7
	};

    backColor = color(-7); //所以可以取到-7
四.枚舉enum的應用

1.常和Switch搭配使用

enum color{RED, GREEN, BLUE}backColor=RED;

switch (backColor)

{

  case RED:{...;break;}

  case GREEN:{...;break;}

  case BLUE:{...;break;}

  default:break;

}

2.if...else搭配使用

enum color{RED, GREEN, BLUE};

color backColor=RED;

void SetColor(color color)
{
    backColor = color ;
}

if(backColor==RED)
{
    cout<<"color is RED"<

你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧


當前名稱:C++枚舉enum使用詳解-創新互聯
轉載來于:http://www.xueling.net.cn/article/dppdps.html
在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 亚洲色大成网站www久久九九 | 在线视频精品一区 | 婷婷综合少妇啪啪喷水动态小说 | 1769免费视频在线观看 | 欧美日韩在线视频播放 | 清纯国语对白videoshdcom 99久久免费国产精精品 | 依依成人在线视频 | 午夜精品福利一区二区三区蜜桃 | 久久精品国产77777蜜臀 | 午夜AV无码福利免费看网站 | www在线免费观看欧美黄 | 国产精品久久久久久久白皙女 | 欧美日韩免费一久久亚洲色WWW成人小说 | 一级片视频在线 | 男男高肉H视频无码网址 | 欧美无人区码SUV | 国产又黄又硬又粗 | 九九精品在线视频 | 免费成人av网站 | 无码欧美多人性站交大战 | 激情午夜网 | 深夜免费福利视频 | 最新中文字幕av无码专区不 | 久久精品国产99久久久香蕉 | 黄色大片一区 | 91com在线观看 | 精品麻豆国产色欲色欲色欲WWW | 免费av不卡在线观看 | 欧美亚洲韩国国产综合五月天 | 久久精精 | 不卡国产| 欧美高潮一区 | 国产自拍在线 | 在线观看高清视频 | 在线超碰| 色老板美国在线观看 | 精品久久综合1区2区3区激情 | 99国产一区二区精品久久 | 99精品久久久久久久婷婷 | WWW射我里面在线观看 | 国产精品露脸高清86网站888 |