Comment supprimer un pointeur en C++ sans supprimer l'objet pointé par le pointeur? Merci d'avance.Comment supprimer un pointeur sans supprimer l'objet pointé par le pointeur? C++
Répondre
Un pointeur va juste sortir du cadre. Vous n'avez pas besoin de "supprimer" un pointeur. Vous avez seulement besoin de libérer la mémoire vers laquelle pointe un pointeur.
.. à moins que vous ne le vouliez pas car il existe une autre copie de pointeur qui contient encore une référence. –
vous ne supprimez jamais pointeur explicite (sauf si vous les alloué dynamiquement), il est créé sur la pile et supprimé de la manière que la vie habituelle des variables de pile est traitée
int* avoid_leaker;
{
int* i_ptr = new int(7);
avoid_leaker = i_ptr;
} // here i_ptr is gone but new int created on heap remains!
// we assigned it to avoid_leaker to avoid leak
Ce n'est pas une * suppression * exactement. C'est une variable auto plutôt que de la mémoire allouée dynamiquement –
vous ne supprimez jamais le pointeur explicite, il est créé sur la pile et supprimé comme d'habitude les variables de pile sont gérées – 4pie0
Je crois que cette réponse est l'idée d'opérateurs de résolution de portée arbitraires pour contrôler la durée de vie des variables déclarées statiquement, contrôlant ainsi la durée de vie de i_prt. Une réponse finalement correcte, mais qui ne tient pas compte de l'incompréhension des OP quant à ce que fait réellement delete. – ChrisCM
- 1. Comment supprimer un pointeur sur un pointeur?
- 2. Supprimer le pointeur affecté par un autre pointeur, dois-je supprimer à nouveau l'autre pointeur?
- 3. Comment supprimer le pointeur de boost :: ptr_vector sans supprimer d'objet?
- 4. Wont supprimer le pointeur
- 5. pointeur ++ C étrange nouveau/supprimer les problèmes
- 6. Comment supprimer un objet de son pointeur?
- 7. pointeur NULL et supprimer
- 8. Comment effacer la mémoire allouée pour un tableau pointé par un pointeur correctement en C++?
- 9. Supprimer l'élément tableau par pointeur d'élément (alias)
- 10. Supprimer vs opérateur supprimer (et pointeur vide)
- 11. Supprimer un pointeur vers pointeur (comme tableau de tableaux)
- 12. Supprimer le pointeur et vérifier l'adresse
- 13. C - Libérer un pointeur sur le pointeur
- 14. supprimer un pointeur d'objet se référant par deux pointeurs
- 15. C/pointeur - Déclarant un pointeur variable locale sans l'initialiser
- 16. pointeur pointeur C++ Méthodes
- 17. pointeur vers un pointeur par rapport à un pointeur
- 18. C libérant le pointeur sur le pointeur
- 19. C: Tri un tableau de structure pointeur clé par pointeur
- 20. Supprimer pointeur à PFObject en analyse?
- 21. C++ passer par pointeur
- 22. C pointeur pointeur question
- 23. Comment insérer une valeur pour un élément d'un tableau pointé par un pointeur dans une structure
- 24. pointeur C sur un pointeur: variable inutilisée
- 25. Pointeur vers un pointeur dans l'objectif-c?
- 26. Comment afficher le pointeur de la méthode pointé par une variable?
- 27. Libérer un objet sans pointeur?
- 28. Cast de pointeur vers pointeur C++
- 29. Comment faire un "Pointeur vers Pointeur" en C#?
- 30. pointeur vers le pointeur?
Pourquoi? (remplisseur) ... – 0x499602D2
Que voulez-vous dire par * supprimer un pointeur *? Vous ne supprimez pas les pointeurs (sauf si vous les avez dynamiquement alloués) mais les objets vers lesquels ils pointent. –
Attendez simplement que le pointeur soit hors de portée. – cnicutar