Prosty sens działania new i delete-zapytanie

0

Witam.
Jestem początkujący w C++ (jak i całym programowaniu). Czy mógłby mi ktoś na chłopski rozum "przetłumaczyć" ten kod? czy z tym 'new' to chodzi że tworzę miejsce w pamięci na tą tablicę a 'delete' to zwalniam tą pamięć bo inaczej taka tablica zostałaby w pamięci...? Wiem, że powinienem o tym sam przeczytać ale z racji braku czasu(mam czas na napisanie pewnego programu do północy, a wydaje mi się, że to jest trochę istotne by ten element rozumieć) zapytuje tutaj.
Wersja I:

const expr size_t DIM=500000; 
int*a4=new int[DIM]; //nie wiem
srand(unsigned(time(0)));
for(size_t i=0;i<DIM;++i)a4[i]=rand()%21+1; // tutaj wiem-losowanie liczb pseudolosowych :) 
delete [] a4; //nie wiem

Dziękuję za wszystkie konstruktywne odpowiedzi. :)

3

Tak, jest to antyidiomatyczna alokacja pamięci. Każda alokacja z new[] powinna mieć dealokację z delete[] do pary. Jeśli na kalendarzu masz nr. roku większy od 1998 to sugeruję użycie std::vector zamiast takich anachronizmów.

0

Dzięki!!!

1 użytkowników online, w tym zalogowanych: 0, gości: 1