Используйте умные указатели вместо new/delete
Потенциальная проблема: утечка памяти
Вместо прямого использования new/delete используйте умные указатели. Они помогают избегать утечек памяти, благодаря использованию идиомы RAII.
Шаблон std::unique_ptr не имеет накладных расходов по памяти, используйте его в большинстве случаев.
Неправильно:
auto foo = new Foo();
// Что-то делаем с foo
// Если здесь выбрасывается исключение, foo не будет удалено
delete foo;
Правильно:
auto foo = std::make_unique<Foo>();
// Что-то делаем с foo
// Если здесь выбрасывается исключение, foo будет корректно удалено
Для совместного владения указателем используйте std::shared_ptr.