Que fait exactement delete ??

Résolu
cs_Tonus Messages postés 25 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 7 mars 2006 - 13 janv. 2005 à 11:25
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 - 13 janv. 2005 à 16:32
Salut @ tous



Voila je voudrais savoir si en créant un tablo dans un fonction ,
l'instruction delete va -t- elle supprimer la totalité du tablo ou
juste la première adresse de celui-ci. Voila les instructions que
j'utilise:



char * monTab = new char[taille];

[......]

delete monTab;



Car avant j'essayais avec un tablo fixe mais le compilateur me jete pour l'intruction delete:



char monTab[taille];

[.....]

delete monTab;

Mici pour les divers renseignements

Tonus

4 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
13 janv. 2005 à 11:37
Serait plus surement:
delete [] montab;

libere toute la zone memoire occupee precedemment par le tableau.

ciao...
BruNews, MVP VC++
3
cs_Tonus Messages postés 25 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 7 mars 2006
13 janv. 2005 à 12:11
Merci Beaucoup, mon code marche nikel now

Mici pour les divers renseignements

Tonus
0
theneoiceman Messages postés 78 Date d'inscription lundi 14 avril 2003 Statut Membre Dernière intervention 23 avril 2010
13 janv. 2005 à 12:51
Le delete ne libere la memoire que lorsque elle a été précedemment
allouée avec un news c'est pourquoi le compilateur te jette lorsque tu
veux faire un delete sur un tableau declaré de facon statique.


Mess with the best, die like the rest
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
13 janv. 2005 à 16:32
theneoiceman> Le compilateur est con. Si tu fais


int* x;

delete x;





il va te compiler ca alors que ca n'est pas alloué
0
Rejoignez-nous