ゲームにおけるデータ構造・クラス設計・パターンat GAMEDEVゲームにおけるデータ構造・クラス設計・パターン - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト139:名前は開発中のものです。 06/09/23 15:44:06 LShRrPtb >>138 # boostは使ってないけど、weak_ptrの実装に興味あったのでソース見てみた。 # 間違ってたらごめんね。 intrusive_ptrは参照されるオブジェクトに参照カウンタの仕組みが備わっている場合に 使えるスマートポインタ。shared_ptrは参照カウンタをヒープに確保してて何にでも使える 汎用性がある代わりにオーバーヘッドがありゲーム用ならintrusive_ptrが好まれるという ことだと思われる。 weak_ptrはそのヒープに確保される参照カウンタ(オブジェト)自身の参照カウンタを 上げ下げするもので、weak_ptrが全部消えるとその参照カウンタオブジェクトが 消えるという仕組みのようだね。 # detail/sp_counted_base_w32.hpp class sp_counted_base { long use_count_; // #shared long weak_count_; // #weak + (#shared != 0) virtual void destroy() // nothrow { delete this; } void weak_release() // nothrow { if( BOOST_INTERLOCKED_DECREMENT( &weak_count_ ) == 0 ) { destroy(); } } }; 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch