Используя RapidXML, мне нужно создавать и уничтожать множество узлов XML и атрибутов XML. Я прочитал в документации по пулу памяти, что нет способа освободить одну строку, созданную в пуле памяти, с помощью функции allocate_string.
Но при этом размер пула памяти будет увеличиваться, и мне кажется, что проблема не заключается в удалении строк, связанных с атрибутами или узлами, которые больше не используются.
Я боюсь заполнить пространство пула памяти слишком динамичной системой, в которой я создаю и уничтожаю множество узлов без "априорной" известной схемы.
Есть ли способ пропустить эту проблему?
Добавлено:
Чтение документации. Я нашел функцию memory_pool :: set_allocator , и на первый взгляд кажется, что она решает мой вопрос. Я пытался использовать эту функцию, но мне не удалось. Кто-нибудь когда-нибудь использовал функцию set_allocator? Я не нашел примеров или ссылок в интернете.