On parle de C++ ici non ? Dans ce cas, si le programmeur fait bien son travail, le travail de déallocation de mémoire se fait dans les destructeurs.
Ensuite, pour les objets alloués dans main(...) deux cas se présentent :
Si ce sont des pointeurs alloués avec new dans ce cas il FAUT faire un delete sinon le destructeur ne sera pas appelé. Jamais. Même par le système. C'est ce qu'on appelle une fuite mémoire
L'autre cas, c'est celui des objets qui ne sont pas alloués par new (sur le tas, je crois), dans ce cas leur destructeur est appelé dès la sortie du bloc courant (à l'accolade fermante correspondant à l'accolade ouvrante du bloc dans lequel cet objet a été alloué). Mais allouer un gros objet sur le tas est une mauvaise idée ...
De toute façon, laisser le système gérer la déallocation mémoire est une mauvaise habitude. Point-barre.
[^] # Re: Mauvais débat.
Posté par Florent C. . En réponse au journal La mémoire ? On s'en fout !. Évalué à 3.
Ensuite, pour les objets alloués dans main(...) deux cas se présentent :
De toute façon, laisser le système gérer la déallocation mémoire est une mauvaise habitude. Point-barre.