[gull] cours C++

Marc Mongenet marc.mongenet at gmail.com
Tue Mar 7 16:34:06 CET 2006


Le 06/03/06, Daniel Cordey<dc at mjt.ch> a écrit :
> On Saturday 25 February 2006 13:49, Marc Mongenet wrote:
>
> > Donc dès qu'on sort du bloc où p est
> > défini, qu'on sorte par la fin, par un return ou par une exception, alors
> > le destructeur de p est appelé et se charge de libérer la mémoire.
>
> Donc... c'est un peu comme alloca() ?
>
> dc

Je n'ai jamais utilisé alloca, mais il me semble que oui.
C'est plus lent car il y a un appel de fonction (le destructeur)
au lieu d'un simple changement de pointeur de pile.
Mais c'est plus souple car le destructeur peut libérer
n'importe quelle ressource (mémoire, descripteur de fichier,
bibliothèque, etc.) Et puis c'est parfaitement intégré au
langage, tandis que je vois que man alloca déconseille
l'usage d'alloca.

Marc Mongenet



More information about the gull mailing list