Four Questions on boost::shared_ptr