[581] Re:ポインタ
投稿者:kit
2007/02/20 02:13:25
>|「元の変数を参照
>| している」ということを意識する必要がありません。アドレスが渡されると
>| いうのは実装上の都合であって、コピーを渡してリターン時に元のところに
>| コピーし戻すという実装でも同じ意味になります (これをcall-by-value-
>| resultと呼ぶ)。
>
>とあるように、そもそも単なる変数引数であれば「参照値」自体を意識する
>必要はないのではないか、ということです。
話は完全にそれますが、この JavaHouse での記述は誤りですね。
var x:integer;
procedure hoge(var a: interger);
begin
a:=1;
a:=a+x;
end;
x:=10;
hoge(x);
のように、変数引数が alias となるケースでは、参照渡しの場合と、
call-by-value-result 場合とで結果が異なります。
参照渡し: x=2
call-by-value-result: x=11
参照値であるということを意識しないですむとは限りません。