Не проверяйте указатель на nullptr после new
Проблема: лишняя проверка.
Оператор new в случае ошибки выбросит исключение std::bad_alloc, поэтому проверять на nullptr смысла нет никакого.
Ситуация меняется, если использовать специальный оператор new, не выбрасывающий исключения: