C++ NULL and delete

fix -  
 Manu -
bonjour.
c'est quoi la difference entre NULL et delete pour detruire un objet.
a vrai dire:
supposons que j'ai un champ chaine, defini de la maniere suivante:
char * chaine;
c'est quoi la difference entre
chaine = NULL;
et
delete [] chaine;
merci d'avance
Configuration: Windows XP
Internet Explorer 6.0

2 réponses

  1. Manu
     
    "détruire" signifie libérer la mémoire qui sera donc réutilisable. Si on ne libère pas la mémoire avec "delete", il y a une fuite mémoire et le programme prend de plus en plus de place.
    3
  2. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    salut.
    Null met le pointeur à une valeur nul, tandis que delete detruit.
    Exemple :
    tu as deux pointeur de type T : a et b.
    T *a1=a;
    T *b1=b;
    b=NULL;
    delete a;
    lALORS : L'objet pointer par a et par a1 seront détruit.
    b ne pointera plus nulle par, mais l'objet pointé par b est toujours présent et accessible par b1.
    NULL ne détrui pas un objet, il mes le pointeur à 0.
    En fait normalement, NULL est défini comme suit :
    #define NULL 0
    1