[過去ログ]
ゲームプログラミング相談室 (986レス)
上
下
前
次
1-
新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
852
(2)
: 02/10/29 20:44 ID:???
AA×
>>841
[240|
320
|
480
|
600
|
100%
|
GIF
|
べ
|
レス栞
|
レス消
]
852: [sage] 02/10/29 20:44 ID:??? >>841 > 解放したポインタにNULL代入するのは作法でしょう。 気休めに過ぎない作法なんか、やめとけよ……。 だいたい複数のポインタが同一の領域を指している環境では、そんな手は 使えないし。 > どうしてもめんどうなら その程度の「手間」で済むのは free_something() なんてオモチャみたいな コードだから。現実に面倒なデータ構造を操作するコードだと、そんな単純 にはいかんよ。 特にデータ構造が複雑な場合には、そのデータを辿るのがクリティカルパス になるケースが多い(逆にクリティカルじゃなければ、そんな頑張って面倒 なデータ構造をメンテナンスなんかしないで、単純配列を全部検索、とかで 済ませられる)。 そこで「すべての要素に pointer の pointer を持たせて、二回 dereference しましょう」ってのはかなり厳しいよ。 > というか、そういうところで面倒くさがる人はC++を使うべきでは。 全部 boost::shared_ptr にするとか? それは性能上の問題に加えて、解放の タイミングを計るのが難しくなる(解放したつもりが、余計なところで shared_ptr が一つ生きてた、とか)という問題がある。 もちろん「ここで最後の筈」ってことで assert() 入れてチェックすることはでき るんだが、assert() に引っかかったときに じゃあ、いったいどこで参照が残ってるんだ? っつーのは、やっぱり探すのが大変だよ。 http://game.5ch.net/test/read.cgi/gamedev/1005040025/852
解放したポインタに代入するのは作法でしょう 気休めに過ぎない作法なんかやめとけよ だいたい複数のポインタが同一の領域を指している環境ではそんな手は 使えないし どうしてもめんどうなら その程度の手間で済むのは なんてオモチャみたいな コードだから現実に面倒なデータ構造を操作するコードだとそんな単純 にはいかんよ 特にデータ構造が複雑な場合にはそのデータを辿るのがクリティカルパス になるケースが多い逆にクリティカルじゃなければそんな頑張って面倒 なデータ構造をメンテナンスなんかしないで単純配列を全部検索とかで 済ませられる そこですべての要素に の を持たせて二回 しましょうってのはかなり厳しいよ というかそういうところで面倒くさがる人はを使うべきでは 全部 にするとか? それは性能上の問題に加えて解放の タイミングを計るのが難しくなる解放したつもりが余計なところで が一つ生きてたとかという問題がある もちろんここで最後の筈ってことで 入れてチェックすることはでき るんだが に引っかかったときに じゃあいったいどこで参照が残ってるんだ? っつーのはやっぱり探すのが大変だよ
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 134 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
ぬこの手
ぬこTOP
0.048s