Leksykon IT › Programowanie › Alokator stosowy (stack allocator)

Alokator stosowy (stack allocator)

Programowanie Svenska → Zaktualizowano: 2026-10-26

Alokator, który przydziela pamięć przesuwając wskaźnik do przodu, a zwalnia cofając go do zapamiętanego znacznika — ściśle w kolejności LIFO.

Zamiast prosić system operacyjny o każdy blok, alokator stosowy rezerwuje jeden ciągły bufor i „przydziela” pamięć, przesuwając wskaźnik szczytu. Aby ją oddać, zapamiętujesz wcześniej pozycję znacznika i cofasz wskaźnik do niej — wszystko, co przydzielono potem, zostaje zwolnione naraz. Działa w O(1) i w ogóle nie powoduje fragmentacji.

Ceną jest dyscyplina: zwalniać trzeba w odwrotnej kolejności niż się przydzielało, dokładnie jak stos wywołań. Wzorzec jest więc idealny do tymczasowej pamięci roboczej w obrębie klatki i nie nadaje się do obiektów o nieprzewidywalnym czasie życia. Pokrewny alokator arenowy zwalnia wszystko jednym ruchem, a alokator pulowy wydaje bloki stałego rozmiaru w dowolnej kolejności.

← Wróć do leksykonu