Compte *l_compte = new Compte;
l_compte->changerProprietaire(nom);
//d'autres trucs ici
delete l_compte;
Si ma fonction lève une exception je ne passe pas au niveau du delete et mon pointeur n'est jamais libéré.
C'est très facile de régler ce problème.
Tu met le tout dans un try qui intercepte toutes les exceptions, si une exception survient tu libère ton pointeur et tu relance l'exception telle quelle.
[^] # Re: SUN annonce Mad Hatter
Posté par wismerhill . En réponse à la dépêche SUN annonce Mad Hatter. Évalué à 2.
Compte *l_compte = new Compte;
l_compte->changerProprietaire(nom);
//d'autres trucs ici
delete l_compte;
Si ma fonction lève une exception je ne passe pas au niveau du delete et mon pointeur n'est jamais libéré.
C'est très facile de régler ce problème.
Tu met le tout dans un try qui intercepte toutes les exceptions, si une exception survient tu libère ton pointeur et tu relance l'exception telle quelle.