Lessico IT › Programmazione › Stack allocator

Stack allocator

Programmazione Svenska → Aggiornato: 2026-10-26

Un allocatore che assegna memoria spostando in avanti un puntatore e la libera riportando indietro un marcatore salvato, in rigoroso ordine last-in, first-out.

Invece di chiedere ogni blocco al sistema operativo, uno stack allocator riserva un unico buffer contiguo e «alloca» spostando in avanti un puntatore di cima. Per restituire la memoria si salva in anticipo la posizione del marcatore e si riporta il puntatore a quel punto: tutto ciò che è stato allocato dopo viene liberato in un colpo solo. È O(1) e senza alcuna frammentazione.

Il prezzo è la disciplina: si deve liberare nell'ordine inverso a quello di allocazione, esattamente come in uno stack di chiamate. Questo rende il pattern perfetto per la memoria temporanea all'interno di un frame e inadatto a oggetti con durata imprevedibile. L'arena allocator, affine, libera invece tutto in una volta; un pool allocator assegna blocchi di dimensione fissa in qualsiasi ordine.

← Torna al lessico