Я вижу людей, которые дают странные ответы на этот вопрос.
ptr = NULL;
Как такое простое утверждение может привести к задержке производительности?
Другой ответ говорит, что у нас может быть несколько указателей, указывающих на один и тот же
место в памяти. Конечно, мы можем. В этом случае операция удаления для одного указателя будет делать только этот указатель NULL (если удаление делало указатель равным NULL), а другой указатель будет отличным от NULL и указывает на свободное место в памяти.
Решением для этого должно было быть то, что пользователь должен удалить все указатели, указывающие на одно и то же местоположение. Внутренне он должен проверить, свободна ли память, чем не освободить. Только сделать указатель NULL.
Страуструп мог бы спроектировать удаление, чтобы работать таким образом. Он думал, что программисты позаботятся об этом. Поэтому он проигнорировал.