decltype 遇到计算结果为左值的表达式会得到引用类型
生活随笔
收集整理的這篇文章主要介紹了
decltype 遇到计算结果为左值的表达式会得到引用类型
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
c++11支持用decltype推斷變量/表達(dá)式的類型,與auto推斷不同,decltype并不會計算表達(dá)式的值。
decltype會準(zhǔn)確的返回變量/表達(dá)式的類型,即使是數(shù)組這種比較復(fù)雜的類型也不例外。
int A[10]{}; decltype(A) B{}; // A和B類型完全相同
唯一的例外是,如果括號內(nèi)是一個表達(dá)式(不是變量),且計算結(jié)果是左值(可以放在等號左側(cè)),那么返回的類型是表達(dá)式結(jié)果的引用類型,舉兩個例子說明。
例子一
int i = 1, *p = &i; // *p是左值,所以ref是i的引用 decltype(*p) ref = i;
例子二
總結(jié)
以上是生活随笔為你收集整理的decltype 遇到计算结果为左值的表达式会得到引用类型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vector 删除符合条件的元素
- 下一篇: C++ const对象仅在文件内有效