Monday, July 19, 2010

c++左值右值

給未來的裕翔

在c語言裡面沒有左值右值的觀念

c++才有左右值

1 = X+Y不能放在左邊是因為1是右值, 不能出現在左側

在c++裡

++x回傳左值, x++回傳右值

對 z += -x +++++ y來說

在c++裡面, 似乎是++y先做

回傳左值後再一次++y, 最後-x+y, ok~

在c裡面z += -x +++++ y, 應該也是++y先做

但是c沒有左右值觀念, 一律右值

所以++y再做一次, 就錯了, 不能對右值進行++x或是x++

就像不能對8做++8或是8++一樣

也許是因為它們沒有地方存?

其實我也不知道常數存哪

No comments:

Post a Comment