Page 1 of 1

[C++] Care e diferenta dintre delete si delete[]?

Posted: 30 Jul 2007, 21:52
by Marius Bancila
Intrebare: Care e diferenta dintre delete si delete[]?

Raspuns: Fiecare corespunde unei alocari facute cu new sau new []. operatorul new este folosit pentru a aloca pe heap un obiect the un anumit tip. operatorul new[] este folosit pentru a aloca N obiecte.

Code: Select all

int* i = new int(5); // i este un pointer la un intreg avand valoarea 5

int* ptr = new int[5]; // ptr este un pointer la un sir de 5 intregi
Pentru a dezaloca memoria corect, folositi delete atunci cand ati alocat cu new si delete [] pentru new[].

Code: Select all

delete i;

delete [] ptr;
Folosirea incorecta a acestor operatori genereaza comportament nedefinit.


Next FAQ >>