我正在阅读Nicolai M. Josuttis的《C++标准库》一书,以了解弱指针。作者提到需要使用weak_ptr的两个原因,我不太理解第二个原因。有没有人能够提供一个简单的解释,并且附带下面引用自书中的例子:
“另一个例子出现在您明确想要共享但不拥有对象时。因此,您具有引用对象的生命周期超过所引用的对象的语义。在这种情况下,shared_ptrs永远不会释放该对象,而普通指针可能无法注意到它们所引用的对象已不再有效,从而引入访问已释放数据的风险。”
“另一个例子出现在您明确想要共享但不拥有对象时。因此,您具有引用对象的生命周期超过所引用的对象的语义。在这种情况下,shared_ptrs永远不会释放该对象,而普通指针可能无法注意到它们所引用的对象已不再有效,从而引入访问已释放数据的风险。”