左辺値と右辺値

左辺値と右辺値の区別がいまいち。C/C++言語では、厳密には値の変更可能な左辺値を「左辺値」としているのでややこしい。日本語訳もよくなく、左辺値(lvalue)は「locater value」の略に近い意味で「左辺」とはもう関係がない。右辺値はlocater valueでないものすべて、というのが本来の意味であるようだ。

いろいろな見分け方があるようだが、

  • 文字どおり、代入の左辺に現れるのが左辺値、右辺に現れるのが右辺値。
  • 一時的な値が入っているのが右辺値。
  • アドレスを保持しているのが左辺値、値そのものが右辺値。左辺値は器。

がわかりやすい。しかし、….

コメント

コメントする

CAPTCHA