Я сейчас изучаю это & mdash; Я хотел бы использовать циклические буферы, контейнеры без блокировки и асинхронный ввод-вывод, и вместо выделения динамической памяти я бы предпочел использовать пулы памяти.
Самая большая проблема, которую я до сих пор видел, заключается в том, что shared_ptr
используется во многих местах, и его просто заменить на intrusive_ptr
невозможно. Поскольку shared_ptr
выделяет динамическую память для отслеживания количества ссылок, я не могу использовать ее во встроенной системе.
Исправление этого выглядит выполнимо, но много работы & mdash; Я должен расширить спецификацию шаблона любого класса, который содержит shared_ptr
, чтобы при желании можно было изменить конкретный тип общего указателя на intrusive_ptr
. Итак, теперь я должен подумать, сколько это будет работать по сравнению с тем, сколько это будет работать, чтобы написать свою собственную версию функций Boost, которая мне нужна. Не очень приятное место.
Надеюсь, кто-то укажет, почему я ошибаюсь по этому поводу.