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 int *o=new int[100];
Ce qui est pas bon. Quand j'alloue le tableau de 100 int de valeur 3, je vois 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;
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:
Ensuite, j'ai fait le truc correct:
Et dans la premi�re image, on voit l'allocation, et dans la deuxi�me, on voit la d�sallocation.
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;
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
Partager