我正在阅读Nicolai M. Josuttis撰写的"The C++ Standard Library"一书,以了解弱指针.作者提到了需要有一个weak_ptr的两个原因而我没有得到第二个原因.任何人都可以提供一个简单的解释以及以下原因的例子(引自书中):
当您明确要共享但不拥有对象时,会出现另一个示例.因此,您具有以下语义:对对象的引用的生命周期超过它引用的对象.在这里,shared_ptrs永远不会释放对象,普通指针可能不会注意到它们引用的对象不再有效,这会带来访问已发布数据的风险.
c++ c++11
c++ ×1
c++11 ×1