Zmienne 
Obiekty alokowane na stercie

Bardzo ważnym rodzajem obiektów są obiekty tworzone na stercie. W tym przypadku to programista sam decyduje o zakresie ważności i czasie życia obiektu.

Obiekty takie tworzymy (na przykład) przy pomocy operatorów new oraz new[]a usuwamy z pamięci przy pomocy operatorów delete oraz delete[]. W języku C alokację pamięci na stercie wykonuje się za pomocą funkcji bibliotecznych, np. malloc, realloc, itp.

{
  int* wsk = new int;
  ....
  delete wsk;
}
  • Obiekty alokowane na stercie nie są usuwane.
  • Poprawny program powinien przed zakończeniem wykonywania zwolnić całą pamięć, jaka została zaalokowana na stercie.
  • Współczesne systemy operacyjne odzyskują pamięć, która nie została zwolniona, jednak brak zwolnienia pamięci może być przesłanką do poważnych błędów w programie, oraz tak zwanych wycieków pamięci.
  • Długo działający proces z wyciekami pamięci może doprowadzić do zajęcia całych zasobów komputera.
Materiały przeznaczone wyłącznie dla studentów
Instytutu Informatyki i Matematyki Komputerowej UJ
Daniel Wilczak