Я пытаюсь реализовать распределитель стека, который будет работать с вектором STL. Существует множество уже существующих реализаций, подобных этой или этой. Однако все они предполагают, что буфер не является членом, а предоставляется распределителю пользователем. В комментарии к реализации Chromium даже говорится, что
STL любит создавать копии распределителей, поэтому сам распределитель не может хранить данные.
Я попробовал сам, и в деструкторе вектора произошел сбой. Кажется, что он создает временную версию моего распределителя для контейнерного прокси, выделяет память через нее и немедленно уничтожает, делая указатель на выделенные данные висячим.
Возможно ли на самом деле иметь распределитель который хранит статический буфер в качестве члена?
Подробнее здесь: https://stackoverflow.com/questions/792 ... s-a-buffer