K.Maebashi's BBS 投稿フォーム
ハンドル名
件名
Link
>>http://revolver.at.infoseek.co.jp/hasami-vc.lzh > > まず、うちにはVC++をコンパイルする環境はないですし、デバッグまで >するつもりもないので、ざっと眺めた感想ですが。 > > BoardがBoard.cppで定義されていて、#include "Board.cpp"してるとかは >さておくとしても、PlayerがBoardの実体を保持していてはいかんでしょう。 >Playerがふたりいるとき、それぞれがBoardを抱え込んでいては、ゲームに >なりません。 > 先読みのときBoardをヒープにclone()するのなら、以後それはポインタで >持ち歩いたほうがよさそうに思うのですが、実体で引数渡ししていますし。 >Boardの中のcellは、実体で持ってよさそうですがポインタで保持してますし、 >にもかかわらずBoardにコピーコンストラクタがありません。 > それぞれがaccess violationの原因になるかどうかはさておき、 >C++を使うのなら、ポインタと実体の区別を意識するのが重要だと思います。 >Javaにはポインタしかないので、Javaから移植するのなら、なんでもかんでも >ポインタにするのが楽かもしれません(メモリリークを起こしそうですが)。 > >なお、ここでは「実体」という言葉を、「ポインタではないデータそのもの」 >という意味で使っています。 >以前読んだC++本では、引数の参照渡しを「実体渡し」と呼んでてびっくりしました。 >「コピーではなく、それそのものを渡す」という意味で「実体渡し」なんだろうと >思いますが、一般的かなあ… > >私のように「ポインタではないデータそのもの」の意味で「実体」という言葉を >使うのもさほど一般的ではないかもしれませんが、参照渡しを実体渡しと読んでいるのは >その本(およびその本に言及したWebページ)以外では、私は見たことないです。 >そんなの広く使われてるじゃん、という方は情報よろしくお願いします。 >
spamよけのため、ここに「ほげぴよ」と入力してください。
削除パスワード :
クリック!