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