【发布时间】:2012-09-01 13:32:28
【问题描述】:
这里有一个简单的问题:您是否可以自己显式删除boost::shared_ptr?你应该过吗?
澄清一下,我不是说删除shared_ptr 持有的指针。我的意思是实际的shared_ptr 本身。我知道大多数人建议不要这样做,所以我只是想知道是否可以明确地这样做。
【问题讨论】:
-
当然可以删除(动态分配的)shared_ptr;删除它的内容是一个完全不同的问题;-)
-
我想你在找
weak_ptr。 -
动态分配
shared_ptr违背了使用shared_ptr的目的。 -
你到底为什么要在堆上分配一个
shared_ptr? -
您的问题与“如果我用 new 分配一个对象,我可以显式删除它吗?”没有什么不同。 ……答案当然是肯定的——你可以而且你应该这样做。对象的类型无关紧要。
标签: c++ boost shared-ptr boost-smart-ptr