[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

Popular

[C++] Jak obliczyć pole i obwód trapezu?

[PHP] Jak pobrać adres strony?

[HTML] Jak wyśrodkować tekst?