smart pointer

boost::shared_ptr boost::scoped_ptr boost::weak_ptr