左辺値と右辺値の区別がいまいち。C/C++言語では、厳密には値の変更可能な左辺値を「左辺値」としているのでややこしい。日本語訳もよくなく、左辺値(lvalue)は「locater value」の略に近い意味で「左辺」とはもう関係がない。右辺値はlocater valueでないものすべて、というのが本来の意味であるようだ。
いろいろな見分け方があるようだが、
- 文字どおり、代入の左辺に現れるのが左辺値、右辺に現れるのが右辺値。
- 一時的な値が入っているのが右辺値。
- アドレスを保持しているのが左辺値、値そのものが右辺値。左辺値は器。
がわかりやすい。しかし、….
コメント