Когда объект удаляется в C ++, его память освобождается, и, таким образом, все, что было встроено в него (например, переменные-члены), также теряется.
В случае указателя указатель - это переменная-член, которая содержит адрес, поэтому адрес «уничтожен», а объект ссылки, если таковой имеется, - нет.
В случае ссылочного элемента адрес уничтожается, но цель не затрагивается.
Класс может определять деструктор, который может определять особое поведение. Одним из распространенных таких действий является запуск операций очистки для членов (если они есть) и освобождение памяти, которая была динамически выделена ранее. Здесь, однако, у вас уже есть объект, поэтому вы не должны его освобождать.