Bonjour

On sait tous que quand on fait une allocation dynamique,
Il faut d�sallouer avec delete [] et non delete. Alors moi, j'ai essay� en d�bug de voir ce qu'il se passe avec visual studio. J'ai tout d'abord link� le programme avec la version release de la CRT. Ensuite, j'ai fait ceci:

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
 
int *o=new int[100];
for(int j=0;j<100;j++)
	o[j]=3;
delete o;
Ce qui est pas bon. Quand j'alloue le tableau de 100 int de valeur 3, je vois ceci:
Nom : 1.JPG
Affichages : 171
Taille : 73,6 Ko
On voit bien le tableau avec les 100 int. Ensuite, quand je fais le delete, je vois que tous les int sont d�sallou�s. Moi, je m'attendais � ce que seule la premi�re adresse, celle point�e par o soit d�sallou�e.
Une fois le delete execut�e, voila ce que je vois:
Nom : 2.JPG
Affichages : 166
Taille : 69,1 Ko

Ensuite, j'ai fait le truc correct:


Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
int *o=new int[100];
for(int j=0;j<100;j++)
	o[j]=3;
 
delete [] o;
Et dans la premi�re image, on voit l'allocation, et dans la deuxi�me, on voit la d�sallocation.

Nom : 3.JPG
Affichages : 156
Taille : 87,3 Ko


Nom : 4.JPG
Affichages : 147
Taille : 78,0 Ko

On voit qu'il n'y a aucune diff�rence. Je ne comprends pas. Comment faire pour voir la diff�rence entre delete et delete[] ?

Merci