Есть много сгенерированного кода c++ без использования оператора delete. Нужна утилита для автоматического исправления этого, которая бы записывала delete в нужные места.
Не надо советовать всякие "умные указатели" и "сборщики мусора" и говорить типа: "Утилита для исправления программы = программист".
В общем случае подобная утилита невозможна.
Преимущество (одновременно и недостаток) языков с ручным управлением памятью в том-то и состоит, что выделенная вручную память освобождается не в момент, который может быть вычислен заранее, а при помощи логики программиста. При этом такой подход при вдумчивом и аккуратном программировании может быть эффективнее различных автоматических или полуавтоматических систем управления памятью.
Если бы можно было автоматически вычислить тот самый момент, когда память можно освобождать, не было бы нужды в delete: компилятор мог бы сам вставить delete в нужном месте.
Язык C++ пошёл фактически по пути отказа от ручного управления памятью: идиоматическим считается полуавтоматическое освобождение памяти при помощи подсчёта ссылок. (Да-да, тот самый shared_ptr.) Вы можете попробовать таки настроить ваш генератор вручную, чтобы он выдавал shared_ptr вместо нативных указателей. Но того самого «правильного» места освобождения памяти автоматически никто за вас не найдёт.
Поэтому те альтернативы, которые вы перечислили (умные указатели и «программист») — по существу единственные доступные. Сожалею об этом.
Не знаю, может, вам эта статья поможет. Сразу только не бейте, сам таким способом не пользовался.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости