Написать аллокатор в C++ несложно. Написать его правильно — уже интереснее.
oo-alloc предлагает объектно-ориентированную модель поверх низкоуровневого управления памятью.• Проблема
std::allocator: шаблон привязан к типу, его сложно использовать совместно для разных типов в одном контексте• Иерархия классов даёт полиморфизм через интерфейс, но добавляет косвенный вызов через таблицу виртуальных функций — и авторы это понимают
• Выделение памяти через пул снижает нагрузку на кучу и устраняет фрагментацию при объектах фиксированного размера
Альтернатива из стандарта —
std::pmr::polymorphic_allocator с memory_resource. Тот же полиморфизм, но без overhead своей иерархии и с поддержкой в STL-контейнерах из коробки. Если нужен production-grade вариант — сначала смотреть туда.👉 Github
🖍️ Стоит ли вообще писать кастомный аллокатор в 2026, когда есть
pmr?📍 Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#буст
