2006-01-06から1日間の記事一覧

Type Erasure in boost::shared_ptr

そういえば,Type Erasureの一番顕著な実例が boost::shared_ptr っていうの書くの忘れてた. class C{}; boost::shared_ptr< void > p( new C ); // 参照カウントが 0 になるときちんと『C のポインタに対する』 delete を実行する別に void だけに限らず,…

写像を表現するクラスの設計

写像 (mapping) の概念をクラスにする際に,既存の mapping を破壊するようなインターフェースを提供しなければ deep copy が本質的に必要なく, shallow copy だけでコピーのセマンティクスを安全に達成できるんじゃないのか,ということを思いつく.例えば…