成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

C++11decltype的用法粗解-創(chuàng)新互聯(lián)

1、decltype?是啥子

感性認(rèn)識(shí)跟?auto?一樣

創(chuàng)新互聯(lián)是創(chuàng)新、創(chuàng)意、研發(fā)型一體的綜合型網(wǎng)站建設(shè)公司,自成立以來(lái)公司不斷探索創(chuàng)新,始終堅(jiān)持為客戶提供滿意周到的服務(wù),在本地打下了良好的口碑,在過(guò)去的十載時(shí)間我們累計(jì)服務(wù)了上千家以及全國(guó)政企客戶,如純水機(jī)等企業(yè)單位,完善的項(xiàng)目管理流程,嚴(yán)格把控項(xiàng)目進(jìn)度與質(zhì)量監(jiān)控加上過(guò)硬的技術(shù)實(shí)力獲得客戶的一致表?yè)P(yáng)。
auto a = 1;

但?decltype?是這樣用

decltype(表達(dá)式) a = 值;

// 例如
decltype(1) a = 2;
decltype("ss") str = "123";

auto a = 20;
decltype(a) b = 30;

大概就是根據(jù) decltype()?括號(hào)里面表達(dá)式推導(dǎo)出相應(yīng)的類型,至于與?auto?的不同點(diǎn),先不用去比較它,初認(rèn)識(shí)的時(shí)候會(huì)混淆,需要用的時(shí)候查查就好了。

2、decltype?括號(hào)里的推導(dǎo)規(guī)則是怎么樣子的呢

略......去查吧,我也很頭疼。

3、decltype?實(shí)際用途

這里舉一個(gè)常用的例子

這種函數(shù)很常見(jiàn)吧,有也就返回 2?個(gè)數(shù)相加的結(jié)果

int add(int a, int b)
{
	return a + b;
}

這時(shí)候你可能會(huì)想到,我要是用浮點(diǎn)類型的咋辦,這時(shí)候你會(huì)用重載的方式再寫(xiě)一次

double add(double a, double b)
{
	return a + b;
}

好像解決了一點(diǎn),就是代碼量多了一丟丟,后面翻查資料發(fā)現(xiàn),模板也能解決這個(gè)問(wèn)題,而且代碼量少一丟丟

templateT add(T a, T b)
{
	return a + b;
}

寫(xiě)完感覺(jué)很nice,什么整型浮點(diǎn)型啥的都不是問(wèn)題。這時(shí)候可能有個(gè)S(介于A與C之間的)的需求說(shuō):我想要整型和浮點(diǎn)型相加的結(jié)果;

然后就開(kāi)始著手寫(xiě)。思緒良久也寫(xiě)出了一個(gè)跟上邊一樣的模板

templateT1 add(T1 a, T2 b)
{
	return a + b;
}

這時(shí)候我就懵逼逼了,add?的返回值是到底是?T1 還是 T2 呢。真不知如何下手啊,這個(gè)還是簡(jiǎn)單數(shù)據(jù)類型,要是復(fù)雜一點(diǎn)的數(shù)據(jù)類型那不就得刪庫(kù)跑路了。

那能不能讓編譯器自動(dòng)推導(dǎo)呢,答案是有的,那今天我們的主角就登場(chǎng)了、

templateauto add(T1 a, T2 b)->decltype(a + b)
{
	return a + b;
}

完整代碼

#includeusing namespace std;

templateauto add(T1 a, T2 b)->decltype(a + b)
{
	return a + b;
}

int main(int argc, char* argv[])
{
	cout<< add(1, 2.14)<< endl;
	return 0;
}

調(diào)試結(jié)果:3.14

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

網(wǎng)站名稱:C++11decltype的用法粗解-創(chuàng)新互聯(lián)
鏈接地址:http://jinyejixie.com/article46/egheg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、關(guān)鍵詞優(yōu)化、網(wǎng)站維護(hù)、電子商務(wù)、營(yíng)銷型網(wǎng)站建設(shè)、微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

小程序開(kāi)發(fā)
玛纳斯县| 彩票| 博野县| 奎屯市| 托克逊县| 女性| 武冈市| 德清县| 棋牌| 临沂市| 宽甸| 南溪县| 乌审旗| 仪陇县| 无为县| 扎囊县| 连江县| 文登市| 斗六市| 河西区| 秭归县| 射洪县| 渭南市| 陈巴尔虎旗| 曲水县| 彭州市| 双桥区| 邓州市| 岱山县| 苏尼特左旗| 当阳市| 射阳县| 长阳| 甘孜| 梓潼县| 永吉县| 河津市| 甘肃省| 盐山县| 水城县| 定兴县|