當(dāng)我們把一個對象用作右值時寺擂,用的是對象的值(內(nèi)容);而當(dāng)我們把一個對象用作左值時,用的是對象的內(nèi)存地址(身份)响委。
一個簡單的判別方法就是取變量的地址,如果能取地址&就是左值窖梁,否則是右值赘风。
**Tips:** 臨時變量是右值。取地址符作用于一個左值對象纵刘,返回一個指向該對象的指針邀窃,這個指針是一個右值。解引用生成左值假哎。
int *p ;
decltype(p);--->int *
decltype(*p);--->解引用運(yùn)算符生成左值瞬捕,所以結(jié)果是int &
decltype(&p);---->取地址運(yùn)算符生成右值,所以結(jié)果是int **舵抹,也就是一個指向整型指針的指針