[class.dtor]/15 читает, акцент мой:
Как только деструктор вызывается для объекта, объект больше не существует; поведение undefined, если деструктор вызывается для объекта, срок жизни которого закончился (3.8).
Однако, насколько я могу судить, это единственная ссылка в стандарте на объект "существующий". Это также, по-видимому, контрастирует с [basic.life], что более конкретно:
Время жизни объекта типа
T
заканчивается, когда:
if
T
- это тип класса с нетривиальным деструктором (12.4), начинается вызов деструктора илихранилище, которое объект занимает, повторно используется или освобождается.
Здесь мы имеем два разных формулировки: "время жизни объекта заканчивается" и "объект больше не существует", первое происходит только с нетривиальным деструктором, а последнее происходит с любым деструктором. В чем смысл различия? Что такое объект, который больше не существует?