[C++] Zarządzanie pamięcią
Język C / C++ daje nam możliwość dynamicznego zarządzania pamięcią. Możemy zatem przydzielać i zwalniać pamięć kiedy będzie to konieczne. W C służą do tego operatory malloc oraz free, których można użyć także w C++, jednak bardziej wskazane jest użycie operatorów new oraz delete, o których będzie mowa w tym wpisie.
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
Prześlij komentarz
Dzięki za komentarz!