スマートポインタプログラミングテクニック 不完全クラスを利用して実装を隠蔽する "Pimpl" イディオム 抽象クラスを利用して実装を隠蔽する delete px.get() を予防する shared_ptr を利用して配列へのポインタを保持する オブジェクトの確保の詳細をカプセル化し、ファクトリ関数をラップする 静的なオブジェクトを指すポインタを shared_ptr で保持する shared_ptr を利用して COM オブジェクトへのポインタを保持する shared_ptr を利用して組み込み参照カウントを持つオブジェクトを保持する shared_ptr を利用して他の所有権共有スマートポインタを保持する 生ポインタから shared_ptr を獲得する コンストラクタの中で this から shared_ptr (weak_ptr) を獲得する this から shared_ptr