[過去ログ]
C/C++ゲーム製作総合スレッド Part1 (1001レス)
C/C++ゲーム製作総合スレッド Part1 http://echo.5ch.net/test/read.cgi/gamedev/1337516528/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
978: 名前は開発中のものです。 [sage] 2012/10/22(月) 02:24:37.14 ID:GibO9cqH deleteなんて自分で書くものじゃないし デストラクタもなるべく書かないほうが良い http://echo.5ch.net/test/read.cgi/gamedev/1337516528/978
987: 名前は開発中のものです。 [sage] 2012/10/22(月) 19:30:48.30 ID:GibO9cqH deleteを自分で書くな std::unique_ptrを使え ノーコストのスマートポインタだ スコープから抜けるときに自動的にdeleterを実行してくれる std::unique_ptrが使えない場面では仕方ないのでstd::shared_ptrを使え 多態が必要なときはstd::shared_ptrじゃないとダメだった気がする デストラクタを書くのはスマートポインタで自動的に解放できないリソースを扱うクラスのときだけだ 例えば、OpenGLのテクスチャオブジェクトとかな だがFILEオブジェクトなんかはdeleterにfcloseを指定すればスマートポインタで自動解放可能だ メンバ変数の解放はメンバ変数のデストラクタに任せて自分で解放しようとするな 抱合した子オブジェクトは親が死んだときに勝手に死ぬし newしたオブジェクトはスマートポインタに入れとけば勝手に死ぬ 自分でdeleteする必要がある場面なんてまずないだろう http://echo.5ch.net/test/read.cgi/gamedev/1337516528/987
990: 名前は開発中のものです。 [sage] 2012/10/22(月) 20:20:24.89 ID:GibO9cqH スマートポインタのvectorを使いなさい あと、いまどき生配列はないな 固定長配列ならstd::array、可変長ならstd::vectorを使いなさい Visual C++でデバッグモードでコンパイルすれば、範囲外アクセスしたときに例外投げてくれるはずだ http://echo.5ch.net/test/read.cgi/gamedev/1337516528/990
994: 名前は開発中のものです。 [sage] 2012/10/22(月) 23:30:02.44 ID:GibO9cqH オブジェクトへの参照を保持していることとオブジェクトを所有していることは別だと思うんだ 例えば木構造でなるべくメモリを局所化したい場合だとこういう感じになると思う class Node { Node* firstChild; Node* sibling; Node* parent; }; std::vector<Node> vNode; この場合、Nodeは他のNodeへの参照を持ってるけど、所有しているわけじゃない 所有しているのはvNodeを持つオブジェクトだ あれこれって>993と同じことじゃね http://echo.5ch.net/test/read.cgi/gamedev/1337516528/994
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.028s