Можно ли безопасно использовать std::unique_ptr с кастомным аллокатором в real-time аудио-цикле (C++), или ручной new/delete всё ещё неизбежен из-за риска непредсказуемых системных вызовов при освобождении памяти? Интересует опыт тех, кто пишет под ASIO/CoreAudio с частотой 192 кГц и буферами 64 сэмпла — как избежать спайков при использовании умных указателей, особенно с выравниванием под AVX-512 и без исключений?
Да, можно, и ручной new/delete как раз не нужен: бери std::unique_ptr с кастомным делетером, который вместо free возвращает память в заранее выделенный пул (arena) — тогда никаких системных вызовов в аудио-потоке не будет, а выравнивание под AVX-512 легко решается через _aligned_malloc или posix_memalign при создании указателя до старта движка.