URL: https://linuxfr.org/forums/programmation-c/posts/constructeur-destructeur-et-autre Title: Constructeur, destructeur, et autre... Authors: Gilles G. Date: 2007年06月15日T11:40:44+02:00 Tags: Score: 0 Bonjour à tous, je vais peut-être passer pour un imbécile, mais je n'arrive pas vraiment à comprendre la gestion de la mémoire dynamique. Supposons la fonction f1: void f1() { Objet* obj= new Objet(); obj->print(); // et à la fin on désalloue: delete obj; } maitenant, regardons la fonction f2 qui (presque) la même chose: void f2() { Objet obj(); obj.print(); } Maintenant, mes questions: * Comment se fait-il que dans un cas, je suis obligé d'appeler l'opérateur delete, et pas dans l'autre? * Comment est désalloué l'objet obj dans f2? * A quoi pourrait bien servir de ne pas désallouer obj dans f1 puisque f1 ne retourne rien? Voilà, je vous remercie d'avance pour vos éclaircissements... (et soyez indulgents, le développement n'est pas mon métier!) -- Gilles

AltStyle によって変換されたページ (->オリジナル) /