2011-03-03 186 views

回答

7

如果您有x[y] = z;,x[y]是左值,z是右值。很明顯,x[y]是一個表達式,它可以被評估。因此可以評估給出一個左值。

2

Gabe是正確的,但更具體地說,導致參考的任何表達式都是左值。但是,這還不是全部,指針推理和數組訪問都是導致左值的表達式。

1

另一個例子是,返回引用的函數,即std::vector的索引操作符(reference operator[](size_type n),所以你可以做這樣的事情:

std::vector<Z> vector; 
vector[ y ] = z; 
1

另一個例子:

(which ? x : y) = 10;