它无法处理循环引用问题。在循环引用的场景中,应使用std::shared_ptr和std::weak_ptr组合来管理资源。
unique_ptr从概念上更简单,动作更加可预见(你知道析构动作什么时候发生)而且更快(不需要隐式维护使用计数)。 Example, bad(反面示例) 不必要地增加和维护参照计数。 voidf(){ shared_ptr<Base> base =make_shared<Derived>();// use base locally, without copying it -- refcount never exceeds 1} // de...