c++ decltype關(guān)鍵字淺析

之前聊到過(guò)類(lèi)型推導(dǎo)關(guān)鍵字auto,這次再來(lái)聊聊另一個(gè)類(lèi)型推導(dǎo)關(guān)鍵字——decltype。
例如
上面代碼中的n和rn分別是什么類(lèi)型呢?
初識(shí)decltype關(guān)鍵字的朋友看到上面的代碼可能有點(diǎn)懵,這里有必要簡(jiǎn)單說(shuō)下decltype的基本用法:
1)?decltype作為關(guān)鍵字,后面至少要用一對(duì)圓括號(hào)將求值表達(dá)式括上才算是合法語(yǔ)義。
2)?decltype作為關(guān)鍵字,只用一對(duì)圓括號(hào)將求值表達(dá)式括上,新變量類(lèi)型和被求值表達(dá)式類(lèi)型相同。
3)?decltype作為關(guān)鍵字,用多于一對(duì)圓括號(hào)將求值表達(dá)式括上,新變量類(lèi)型為被求值表達(dá)式類(lèi)型的引用。
那喜歡刨根問(wèn)底的小伙伴們就會(huì)問(wèn)了,要是我無(wú)聊寫(xiě)成了下面這種形式
再例如?(注:以下代碼摘自C++ Primer 5版)
一些稍稍特殊的用法
例如?(注:以下代碼摘自C++ Primer 5版)
還有
水平有限,歡迎交流指正。