[VS6/c++] allocation et desallocation

allocation et desallocation [VS6/c++] - C++ - Programmation

Marsh Posté le 24-02-2003 à 17:25:48    

Est-ce-que tout ce qui à été alloué dynamiquement avec malloc/realloc et new doit être explicitement desalloué avec free et delete à la fin du prog, :??: ,ou alors ça se fait tt seul  :sleep: ?

Reply

Marsh Posté le 24-02-2003 à 17:25:48   

Reply

Marsh Posté le 24-02-2003 à 17:28:10    

VS6 ne possède aucun garbage collector. Il faut donc tout désallouer à la mano


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 24-02-2003 à 17:43:16    

Harkonnen a écrit :

VS6 ne possède aucun garbage collector. Il faut donc tout désallouer à la mano

et de préférence ne melange pas le C et le C++, je le rappelle, malloc/free n'execute pas les constructeurs/destructeurs
 
de toutes façons, un OS potable est capable de récupérer tout l'espace mémoire réclamé par le processus à sa mort.

Reply

Marsh Posté le 24-02-2003 à 18:06:24    

Citation :

VS6 ne possède aucun garbage collector. Il faut donc tout désallouer à la mano

 
en fait si, en quelque sorte ... la CRT se charge de désallouer a la fin ce qui n'a pas été désalloué par le prog. Idem pour les fichiers non fermés ... Qui plus est, si elle ne le faisait pas, Windows le ferait.
 

Citation :

et de préférence ne melange pas le C et le C++, je le rappelle, malloc/free n'execute pas les constructeurs/destructeurs

 
 
et malloc/free et new/delete ne font pas bon ménage (faut pas les mélanger : un free pour un malloc, pas pour un new ...)
 

Citation :

de toutes façons, un OS potable est capable de récupérer tout l'espace mémoire réclamé par le processus à sa mort.

 
 
on se pose alors la question : est-ce utile de le faire ? Ben c'est plus propre, c'est un bon réflexe, et tot ou tard ca payera. Car ca ne libère la mémoire qu'à la fin de ton prog ... si t'alloues comme un porc durant l'execution et que tu ne désalloues jamais, ca ne va pas t'empecher de saturer la mémoire ...


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 24-02-2003 à 21:06:31    

ok, merci tt le monde!
Je vais essayer d'être un bon garçon et de tout libérer!  :ange:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed