我有许多boost::shared_ptr<MyClass>
对象,某个时刻我有意删除其中的一些以释放一些内存。(此时我知道我将不再需要指向的MyClass
对象。)我该怎么做?
我猜不能只使用get()
获取裸指针并调用delete()
。
我在boost::shared_ptr
中看到一个函数get_deleter(shared_ptr<T> const & p)
,但我不确定如何使用它,并且旁边还标注着实验性质。(我想我使用的是Boost 1.38。)
也许只需将变量分配给一个新的空boost::shared_ptr
?这样应该会丢弃旧值并将其删除。