Probleme d'Allocation

cs_oliverman Messages postés 40 Date d'inscription samedi 14 décembre 2002 Statut Membre Dernière intervention 5 juillet 2007 - 17 mai 2004 à 10:41
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 - 17 mai 2004 à 13:07
Je pense avoir un petit probleme d'allocation avec mes fonction:

Si je fais :

char * fonction ( int SIZE)
{
char *buff;
buff =new char[SIZE];
//(char = 1octet)
...
return buff;
}

ou

char * fonction ( int SIZE)
{
char buff[XXX];
// on suppose que XXX sera forcement <SIZE
...
return buff;
}

Est ce que une fois que ma fonction a retourné buff, et ce que l'allocation en memoire de buff sera libéré???
Merci!!
Oliverman.

2 réponses

hilairenicolas Messages postés 398 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 15 juin 2007 2
17 mai 2004 à 10:53
non, pour la liberer, utiliser free
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
17 mai 2004 à 13:07
1er cas : en effet faut utiliser delete poour libérer

2nd cas : ne marche pas, car buff est local à la fonction et le pointeur retourné n'est donc plus valable en sortie (supprimé automatiquement).
0
Rejoignez-nous