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

Despre limbajul de programare C++ si biblioteca standard STL (forum moderat)
Post Reply
User avatar
Marius Bancila
Fondator
Fondator
Posts: 2344
Joined: 11 Jul 2007, 11:45
Judet: Timiş
Location: Timisoara
Contact:

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

Post by Marius Bancila » 30 Jul 2007, 21:52

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 >>


Marius Bancila
Fondator Codexpert, Microsoft MVP VC++
Site personal | Blog

Post Reply