K.Maebashi's BBS 投稿フォーム
ハンドル名
件名
Link
>>「参照渡し (call/passing by reference)」と「値渡し >>(call/passing by value)」が標準的な術語だと思うの >>で、言葉としては、これを使うのがいいような気がする >>んですが。言語も C++ ですし。 > >同意します。私自身、「ポインタ完全制覇」でも「Java謎+落とし穴~」でも、 >「値渡し」という言葉を使用しています(どこかで「実体渡し」という言葉を >使っているかもしれませんが…)。 > >ただ、「PlayerがBoardの実体を保持していてはいかんでしょう。」といった >話をするときには、「実体」またはそれに類する言葉が要るのではないかと >思っています。 >おっしゃるとおり、術語としてちゃんと定義されてなさそうなので、誤解を >招く可能性があると思うのですが。そのために、先の投稿で注釈をつけたわけです。 > >>ただ、Java を含む多くの GC つき言語では、参照の値 >>渡しをするわけで、この術語は使えませんね。 > >ええと、少なくともJavaやCなら「値渡ししかない」で済みそうな気がするのですけど。 > >>Python プログラマで一人、"call by object reference" >>のことを指して "call by object" と呼んでいる例が見 >>つかりましたが、これだと、日本語と英語で意味が逆に >>なりますし。 > >日本人でも、「オブジェクト==参照」という解釈の人もいるようですから、 >「日本語と英語で意味が逆」になるわけでもないような気がします。 > >http://www.rubyist.net/~matz/?date=20030730 >| もっとも多くの言語には「オブジェクト」でない「値」もある。 >| またCの例を出すと、構造体はオブジェクトではない。代入によって >| コピーが発生するからだ。 BASICの文字列もオブジェクトではない。 > >最初読んだとき、かなり違和感がありました。「参照」と「値」の話なら >その通りですが、上記の文を読む限り、「オブジェクト」が「参照」と >ほぼ同義で使われているからです。 > >>http://aspn.activestate.com/ASPN/Mail/Message/python-Tutor/509290 > >ざっと読みました。 >| (2) there is no pointer type in Python, so you *can't* pass "a >| reference" to an object > >Pythonは(Javaと同様)なんでもかんでも参照だと思っていましたが、 >これはどういう意味でしょう。変数への参照が取れないってことかなあ。 ># でも「you *can't* pass "a reference" to an 『object』」だしなあ。 >## 私がPythonについて誤解しているようでしたらご指摘くださいませ。 >
spamよけのため、ここに「ほげぴよ」と入力してください。
削除パスワード :
クリック!