Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
alex
bonjour,
(*ite).reset(); //ICI EST LE PROBLEME
quel est le problème ?
v.erase(ite);
Comment je peux faire pour supprimer correctement l'élément du vecteur?
v.erase(ite) supprime l'élément du vecteur, et donc appelle son destructeur. L'élément étant un shared_ptr il libère la mémoire allouée si celle-ci n'est plus utilisée par d'autres copies
Ou bien est-ce que le shared_ptr me protège comme il faut, et je dois juste appeler v.erase(ite)?
exact. C'est l'interet du shared_ptr.
Merci d'avance
Michael
bonjour,
(*ite).reset(); //ICI EST LE PROBLEME
quel est le problème ?
v.erase(ite);
Comment je peux faire pour supprimer correctement l'élément du vecteur?
v.erase(ite) supprime l'élément du vecteur, et donc appelle son destructeur.
L'élément étant un shared_ptr il libère la mémoire allouée si celle-ci n'est
plus utilisée par d'autres copies
Ou bien est-ce que le shared_ptr me protège comme il faut, et je dois
juste appeler v.erase(ite)?
Comment je peux faire pour supprimer correctement l'élément du vecteur?
v.erase(ite) supprime l'élément du vecteur, et donc appelle son destructeur. L'élément étant un shared_ptr il libère la mémoire allouée si celle-ci n'est plus utilisée par d'autres copies
Ou bien est-ce que le shared_ptr me protège comme il faut, et je dois juste appeler v.erase(ite)?