Sterta inaczej kopiec lub stóg (ang. heap) to obszar pamięci implementujący strukturę danych o tej samej nazwie. Jej części są udostępniane na wyłączność uruchomianym programom (procesom). Przechowywane są tam dynamicznie tworzone struktury danych[1]. W przeciwieństwie do stosu nie jest uporządkowana ani czyszczona między wywołaniami funkcji[2].
W języku C++ pamięcią na stercie zarządza sam programista. Do przydzielania i zwalniania pamięci na stercie służą odpowiednio operatory new
i delete
(oraz delete[]
)[2].
W języku JavaScript obiekty i funkcje są alokowane na stercie. W odróżnieniu od typów prostych i referencji, które są przechowywane na stosie. W obu przypadkach silnik JavaScript sam zwalania zasoby, gdy zmienne są już nieużywane. Dzieje się to dzięki odśmiecaniu pamięci[3].
Zobacz też
Przypisy