J'ai beaucoup boost::shared_ptr<MyClass>
objets, et à un moment donné, je veux intentionnellement delete
certains d'entre eux pour libérer de la mémoire. (Je sais à ce moment-là que je n'aurai jamais besoin de l'objet pointé. MyClass
plus d'objets). Comment puis-je faire ?
Je suppose que tu ne peux pas juste appeler delete()
avec le pointeur brut que j'obtiens avec get()
.
J'ai vu une fonction get_deleter(shared_ptr<T> const & p)
en boost::shared_ptr
mais je ne suis pas sûr de savoir comment l'utiliser, et il est aussi dit que expérimental juste à côté. (Je pense que j'ai Boost 1.38.)
EDITAR: Peut-être qu'il suffit d'attribuer un nouveau vide boost::shared_ptr
à la variable ? Cela devrait jeter l'ancienne valeur et la supprimer.