Я всегда предполагал, что объект начинается и заканчивает свое время жизни в одной и той же ячейке памяти, но недавно я столкнулся со сценарием, в котором мне нужно быть уверенным. В частности, я ищу гарантию от стандарта, что независимо от того, какие оптимизации выполняет компилятор, адрес, по которому строится объект, является тем же, из которого вызывается деструктор, из которого... и что его деструктор действительно гарантированно будет вызван из этого места, если программа не завершается.
Я всегда воспринимал это как должное, но при ближайшем рассмотрении я не могу найти гарантию, и есть некоторый язык вокруг копирования и изменения, который я не знаю, как интерпретировать. Я надеюсь, что некоторые из более знающих людей здесь могут указать мне на главу и стих.