shared_ptrまとめ
- 日本語ドキュメントshared_ptr、weak_ptr
- boost勉強会http://www.ustream.tv/recorded/2981654
- Smart Pointer Programming Techniques
実装してみた
- shared_ptrの実装1 - while( c++ );
- shared_ptrの実装2 - while( c++ );
- shared_ptrの実装3 - while( c++ );
- shared_ptrの実装4 - while( c++ );
- boost::shared_ptrっぽく。
- shared_ptrの実装5 - while( c++ );
- shared_ptr< void >を可能にする。
- shared_ptrの実装6 - while( c++ );
- 適当なクラス図とか。
- shared_ptrの実装7 - while( c++ );
- deleterを追加。
#include <iostream> #include "shared_ptr/shared_ptr.h" class Piyo { public: void func(){ std::cout << "piyo" << std::endl; } }; int main() { //メモリリークの検出 _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); { hoge::shared_ptr< Piyo > p( new Piyo() ); hoge::shared_ptr< Piyo > q = p; p->func(); } return 0; }
- shared_ptrの実装8 -weak_ptrに対応させる- - while( c++ );
- weak_ptrを実装するための準備。
- shared_ptrの実装9 -weak_ptrの実装- - while( c++ );
- ここまでのサンプル
- shared_ptr02.zip
- VC++2008EEで動作確認