Используйте умные указатели вместо 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.