C++ 11的類(lèi)型推導(dǎo) auto

在聲明變量時(shí)使用auto代替類(lèi)型蹦误,C++編譯器就會(huì)自動(dòng)推導(dǎo)出變量的類(lèi)型

auto sum = 1 + 1;

sum被推導(dǎo)為int歌径,使用auto聲明的變量必須要被初始化

聯(lián)合聲明中的類(lèi)型推導(dǎo)
auto a = 1,b = 2;//正確映凳,a和b都被推導(dǎo)為int
auto c = 3,*pa = &a;//正確州弟,c和pa都有基本數(shù)據(jù)類(lèi)型int
auto d = 4,e = 1.2;//錯(cuò)誤速挑,聯(lián)合聲明中類(lèi)型必須相同

聯(lián)合聲明中類(lèi)型必須相同暇咆,Swift笑而不語(yǔ)

auto和復(fù)合類(lèi)型
auto i = 0, &ri = i;
auto a = ri;

a初始化的是r引用的變量值锋爪,所以a被推導(dǎo)為int

auto i = 0, *pi = &i;
auto a = pi;

a初始化的是一個(gè)指針,所以a被推導(dǎo)為一個(gè)int *

auto和常量
int i = 0;
const int ci = i, &cr = ci;
auto b = ci;//b是int
auto c = cr;//c是int
auto d = &i;//d是int *
auto e = &cr;//e是const int *

因?yàn)槭褂靡镁褪鞘褂靡玫闹蛋忠担圆粫?huì)被推導(dǎo)為引用類(lèi)型其骄。ci的類(lèi)型是const int,由于使用的是ci的值得類(lèi)型扯旷,所以b拯爽,c會(huì)被推導(dǎo)為int
因?yàn)?code>ci是const钧忽,所以指向ci的指針必須是只讀指針(const int *)毯炮,所以e被推導(dǎo)為const int *

如果需要bconst int耸黑,則需要顯示聲明

const auto b = ci;//b是const int

如果想要推導(dǎo)為引用類(lèi)型桃煎,則需要:

auto &g = ci;//g是const int的引用
auto &h = 42;//錯(cuò)誤,非常量引用不可以綁定字面值
const auto &j = 42;//正確大刊,常量引用可以綁定字面值为迈,j就是42的另一個(gè)名字

由于ciconst,所以指針e和引用g都會(huì)被推導(dǎo)為頂層const

注意:
聯(lián)合聲明中的類(lèi)型必須一致奈揍,const屬于基本數(shù)據(jù)類(lèi)型的一部分曲尸,所以const也需要一致,而*&則從屬于聲明符男翰,不參與另患。

auto k = ci, &l = i;//正確,k和l基本類(lèi)型為int
auto &m = ci,*p = &ci;//正確蛾绎,m和p都為const int
auto &n = i,*p2 = &ci;//錯(cuò)誤昆箕,n為int 而 p2 為const int

以后涉及到新標(biāo)準(zhǔn),就不再研究了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末租冠,一起剝皮案震驚了整個(gè)濱河市鹏倘,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌顽爹,老刑警劉巖纤泵,帶你破解...
    沈念sama閱讀 206,482評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異镜粤,居然都是意外死亡捏题,警方通過(guò)查閱死者的電腦和手機(jī)玻褪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)公荧,“玉大人带射,你說(shuō)我怎么就攤上這事⊙” “怎么了窟社?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,762評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)绪钥。 經(jīng)常有香客問(wèn)我灿里,道長(zhǎng),這世上最難降的妖魔是什么程腹? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,273評(píng)論 1 279
  • 正文 為了忘掉前任钠四,我火速辦了婚禮,結(jié)果婚禮上跪楞,老公的妹妹穿的比我還像新娘。我一直安慰自己侣灶,他們只是感情好甸祭,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評(píng)論 5 373
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著褥影,像睡著了一般池户。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上凡怎,一...
    開(kāi)封第一講書(shū)人閱讀 49,046評(píng)論 1 285
  • 那天校焦,我揣著相機(jī)與錄音,去河邊找鬼统倒。 笑死寨典,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的房匆。 我是一名探鬼主播耸成,決...
    沈念sama閱讀 38,351評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼浴鸿!你這毒婦竟也來(lái)了井氢?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 36,988評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤岳链,失蹤者是張志新(化名)和其女友劉穎花竞,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體掸哑,經(jīng)...
    沈念sama閱讀 43,476評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡约急,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評(píng)論 2 324
  • 正文 我和宋清朗相戀三年零远,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片烤宙。...
    茶點(diǎn)故事閱讀 38,064評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡遍烦,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出躺枕,到底是詐尸還是另有隱情服猪,我是刑警寧澤,帶...
    沈念sama閱讀 33,712評(píng)論 4 323
  • 正文 年R本政府宣布拐云,位于F島的核電站罢猪,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏叉瘩。R本人自食惡果不足惜膳帕,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望薇缅。 院中可真熱鬧危彩,春花似錦、人聲如沸泳桦。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,264評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)灸撰。三九已至谒府,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間浮毯,已是汗流浹背完疫。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,486評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留债蓝,地道東北人壳鹤。 一個(gè)月前我還...
    沈念sama閱讀 45,511評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像惦蚊,于是被迫代替她去往敵國(guó)和親器虾。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容