C++では,すべての式はlvalue(locator value)またはrvalueのどちらかである. 平易に説明すれば, lvalueとは代入の左辺,つまり代入先に指定できるような式,rvalueとは代入先に指定できない式という感じ. これだけ聞くと“要するに変数?”と思いたくなるかもしれないけど, C++ではリファレンスを返す関数がつくれたり,演算子(キャスト演算子含む)がオーバーロードできたりするので,そんなに単純でもなかったりする. [C言語でもポインタについては,ポインタpに対する*pはlvalueになれたり・なれなかったりするので, C++で何か新しい概念が入ったというわけではないかもしれないけども.]
lvalue(左辺値)