A chaque new doit correspondre un delete. Si tu fais :
Code :
- int* a;
- int* b;
- int* c;
- a = new int[l];
- b = a;
- c = a;
- // opérations sur la zone mémoire allouée
- delete [] c;
|
Il n'y a pas de fuite. a, b, c ce ne sont que des pointeurs, c'est a dire des variables contenant l'addresse de la zone mémoire allouée grace au new. Tu fais un delete sur n'importe lequel ca supprime la zone mémoire, mais il faut en faire un et un seul!!
Message édité par Ace17 le 27-08-2004 à 12:47:05