C++ shared_ptr如何删除多个shared_ptr的指针

Oba*_*eng 0 c++ smart-pointers shared-ptr

我在这个项目上工作,

我遇到的问题是,当我需要它时,它并没有真正被删除,因为它有一些指向它的共享指针.

我该如何解决这个问题,请帮忙.

Jam*_*lis 9

这是设计的.只要一个对象由一个或多个shared_ptr智能指针拥有,它就不会被销毁.拥有所有权的所有智能指针共享对象的所有权,并且在完成所有所有者之前不能销毁该对象.这就是共享所有权.

如果您希望能够在仍有一些引用的情况下销毁该对象,则可以使用weak_ptr这些引用.