Я не думаю, что кто-то на самом деле, строго говоря, удаляет даже указатели.То, что вы удаляете, это динамически размещаемые объекты (или массивы объектов), для которых указатель является дескриптором.Если объект происходит от вызова new , и этот класс отвечает за очистку после этого объекта, то вы вызываете delete .
Это техническиВозможно, что ссылка ссылается на динамически размещенный объект:
int main()
{
//in principle a reference can also refer to a dynamically allocated object
x var(*new someRef);
}
//and if that is the intended usage:
x::~x()
{
delete &m_ref;
}
Однако это будет невероятно плохой стиль.По соглашению, «владеющий» дескриптор динамически размещаемого объекта не должен быть ссылкой.