Informatică Programare
Alocare dinamica memorie C++ 12a
Alocarea dinamică a memoriei în C++ permite rezervarea și eliberarea memoriei în timpul execuției programului, folosind operatorii new și delete. În clasa a 12-a, înveți să o folosești pentru a gestiona structuri de date de dimensiuni variabile, evitând risipa de resurse.
Operatori pentru alocare dinamică
- Operatorul new Rezervă memorie: int* p = new int; alocă spațiu pentru un întreg și returnează adresa.
- Operatorul delete Eliberează memoria alocată: delete p; pentru a preveni scurgerile de memorie.
- Alocare pentru vectori int* v = new int[10]; alocă un vector de 10 întregi, eliberat cu delete[] v;.
Exemplu: alocare și utilizare a unui vector
- 1 Alocă memorie int n = 5; int* arr = new int[n]; // alocă un vector dinamic cu 5 elemente
- 2 Completează vectorul for (int i = 0; i < n; i++) arr[i] = i * 2; // arr devine [0, 2, 4, 6, 8]
- 3 Afișează și eliberează for (int i = 0; i < n; i++) cout << arr[i] << " "; delete[] arr; // eliberează memoria
Întotdeauna folosește delete sau delete[] după new pentru a evita scurgerile de memorie, și testează alocările dinamice cu dimensiuni mici înainte de a le scala.