我正在尝试理解c++11中引入的
听说
但在这方面,
unique_ptr
、shared_ptr
和weak_ptr
。听说
weak_ptr
对于缓存、打破循环等方面非常有用。我听说它们与shared_ptrs
很配合使用。但在这方面,
shared_ptrs
和unique_ptrs
之间有什么区别呢?为什么weak_ptr
只能与其中一个一起使用?为什么我不想拥有指向其他所有者拥有的对象的弱引用呢?
weak_ptr
的主要用途是访问你不需要拥有但可能在你没有观察时被删除的对象。有一种看法认为,对象可能仍然存在或不存在,需要进行检查。 - Nicol Bolas