auto什么意思中文 返回值為auto和decltype(auto)的函數(shù)有哪些不同?
返回值為auto和decltype(auto)的函數(shù)有哪些不同?Auto和decltype是兩種類型推斷方法,但它們之間有區(qū)別。主要區(qū)別如下:1。通過編譯器計算變量的初始值來自動推斷類型。Declty
返回值為auto和decltype(auto)的函數(shù)有哪些不同?
Auto和decltype是兩種類型推斷方法,但它們之間有區(qū)別。主要區(qū)別如下:
1。通過編譯器計算變量的初始值來自動推斷類型。Decltype還通過編譯器分析表達(dá)式來獲取其類型,但它不需要計算表達(dá)式的值。
2. 編譯器推斷的自動類型可能與初始值類型不同。例如,對于頂級常量,auto將忽略頂級常量屬性,但decltype是保留的,這將反映在下面的代碼中。
3. 與auto不同,decltype的結(jié)果類型與表達(dá)式形式密切相關(guān)。例如,如果decltype()沒有內(nèi)括號,則得到的類型就是變量的類型。如果decltype(())有多個方括號,則返回的是引用。細(xì)節(jié)可以通過代碼進(jìn)行分析。