[C++] Zarządzanie pamięcią
W dzisiejszym wpisie zajmiemy się przydzielaniem i zwalnianiem pamięci w C++. Podobnie jak język C, C++ daje nam możliwość dynamicznego zarządzania pamięcią. W C służą do tego operatory malloc oraz free, których można użyć także w języku C++, jednak bardziej wskazane jest użycie operatorów new oraz delete, o których będzie mowa.
Przydzielanie pamięci
Najpierw kilka słów o wyżej wymienionych operatorach new i delete. Pierwszy z nich służy do przydzielania pamięci, a drugi do jej zwalniania.
Przykład przydzielania pamięci dla jednego elementu:
int * pointer;
pointer = new int;
Przykład przydzielania pamięci dla tablicy elementów:
int * pointer;
pointer = new int[5];
Powyższe przykłady różnią się od siebie tym, że w drugim z nich po typie zmiennej podaliśmy w nawiasach kwadratowych ilość elementów.
Zwalnianie pamięci
Jak już wspomniałem wyżej do zwalniania pamięci służy operator delete, a jego użycie wygląda tak:
delete pointer;
- dla pojedynczych elementów;delete[] pointer;
- dla tablic elementów;
Jak widać, aby zwolnić pamięć przydzieloną dla jednego elementu zapisujemy operator delete i zaraz za nim nazwę wskaźnika. Jeśli zaś chcemy zwolnić pamięć przydzieloną tablicy, dopisujemy do operatora delete nawiasy kwadratowe.
Komentarze
Publikowanie komentarza