2008-11-28から1日間の記事一覧

テンプレートでメンバ関数がコンパイルされるタイミング

C++

前回のshared_ptrの実装4 - while( c++ );で template < typename T > class shared_ptr { ...略 reference operator*()const { return *ptr; } }; int main() { shared_ptr< void > p; //←このタイミングでoperator*もコンパイルされると思っていた。。。 r…

shared_ptrの実装6

C++

ここまでのまとめ shared_ptrでは参照カウンタの管理、インスタンスの管理が完全に隠蔽されている。 可能なこと shared_ptr pimplイディオム(不完全型クラスを使った宣言) 暗黙のアップキャスト deleterによる削除 未実装 weak_ptrへの変換 適当なクラス図…

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の実装5

C++

shared_ptrで任意のインスタンスをdeleteする 前回のshared_ptrの実装4 - while( c++ );で shared_ptr< void > a( new int( 100 ) ); とすると、デストラクタで正しくdeleteされません。今日はこれを解決しましょう。問題になっているのは delete void*; で…