У меня есть много объектов boost::shared_ptr<MyClass>
, и в какой-то момент я намеренно хочу delete
некоторых из них освободить некоторую память. (Я знаю в этот момент, что мне больше не понадобятся объекты с указателем на MyClass
.) Как я могу это сделать?
Я думаю, вы не можете просто вызвать delete()
с необработанным указателем, который я получаю с get()
.
Я видел функцию get_deleter(shared_ptr<T> const & p)
в boost::shared_ptr
, но я не уверен, как ее использовать, а также говорит, что экспериментатор находится рядом с ней. (Я думаю, что у меня есть Boost 1.38.)
Возможно, просто назначьте новую пустую boost::shared_ptr
переменной? Это должно выбросить старое значение и удалить его.