Возможно ли иметь распределитель стека, содержащий буфер?C++

Программы на C++. Форум разработчиков
Anonymous
Возможно ли иметь распределитель стека, содержащий буфер?

Сообщение Anonymous »

Я пытаюсь реализовать распределитель стека, который будет работать с std::vector. Существует множество уже существующих реализаций, подобных этой или этой. Однако все они предполагают, что буфер не является членом, а предоставляется распределителю пользователем. В комментарии к реализации Chromium даже говорится, что:

STL любит создавать копии распределителей, поэтому сам распределитель не может хранить данные.

Я попробовал сам, и вектор дает сбой в своем деструкторе. Похоже, что он создает временную версию моего распределителя для контейнерного прокси, через нее выделяет память и тут же уничтожает ее, делая указатель на выделенные данные висячим.
Возможно ли это на самом деле? иметь распределитель, который хранит статический буфер в качестве члена?

Подробнее здесь: https://stackoverflow.com/questions/792 ... s-a-buffer

Вернуться в «C++»