[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

Popular

[HTML] Jak wstawić obrazek?

[PHP|HTML] Odświeżenie strony

[HTML] Jak wycentrować stronę?