C++ 中的左值和右值是什麼?


左值(定位器值)表示記憶體中佔據某個可識別位置(即具有地址)的物件。

右值透過排除來定義。每個表示式要麼是左值,要麼是右值,因此,右值是一個不表示記憶體中佔據某個可識別位置的物件的表示式。

例如,賦值運算子期望在其左運算元中具有一個左值,因此以下語句有效 −

int i = 10;
But this is not:
int i;
10 = i;

這是因為 i 有記憶體地址且為左值。而 10 沒有可識別的記憶體位置,因此是右值。因此,將 i 的值賦予 10 沒有意義。


更新於:2020-2-11

3K+ 瀏覽

開啟你的 職業生涯

完成課程認證

開始
廣告
© . All rights reserved.