Стековый аллокатор (Stack allocator)
Аллокатор, который выдаёт память сдвигом указателя вперёд, а освобождает возвратом к сохранённому маркеру — строго по принципу «последним пришёл — первым вышел».
Вместо того чтобы просить у ОС каждый блок, стековый аллокатор резервирует один непрерывный буфер и «выделяет» память, сдвигая указатель вершины. Чтобы вернуть память, заранее запоминают позицию маркера и откатывают указатель к ней — всё выделенное после этого освобождается разом. Это O(1) и полное отсутствие фрагментации.
Цена — дисциплина: освобождать нужно в порядке, обратном выделению, как в стеке вызовов. Поэтому шаблон идеален для временной памяти внутри кадра и непригоден для объектов с непредсказуемым временем жизни. Родственный арена-аллокатор освобождает всё сразу, а пул-аллокатор выдаёт блоки фиксированного размера в любом порядке.