>> うーん、これが関数の引数についてであれば、「参照渡し」はあくまで
>> 「変数引数」の実装手段に過ぎない、と考えれば、これをそこまで言ってしまうのは
>> 実装に過度に踏み込んでいる気もします。
>なるほど。ポインタ値ならぬ、「参照値」を引き出した後のことは実装任せと
>いうことですね。
ええ、すみません、リンクを貼り損ねたおかげで誤解させてしまったようです。
私が言いたかったのは、貼りなおしたリンク先に
http://java-house.jp/ml/archive/j-h-b/028784.html#body
| Pascalなどでは、(C系と違って)aの参照と
| しての値(アドレス)をどこか他のところへ代入することはできませから、aと
| いう参照値の生存範囲はそのスコープ内に限られます。そのような言語では、
| 変数aは呼出し元の変数と「同一物」と考えれば済みます。「元の変数を参照
| している」ということを意識する必要がありません。アドレスが渡されると
| いうのは実装上の都合であって、コピーを渡してリターン時に元のところに
| コピーし戻すという実装でも同じ意味になります (これをcall-by-value-
| resultと呼ぶ)。
とあるように、そもそも単なる変数引数であれば「参照値」自体を意識する
必要はないのではないか、ということです。
まあ、Pascalはともかく少なくともC++では、そういう引数渡しを言語自体が
「参照渡し」と呼んでいるので、ここまで言ってしまうのも問題かもしれませんが、
アプリケーションプログラムを書くのなら、なるべく上の方の世界に住んでいたいなあ、
と私は思うわけでして。