История изменений
Исправление fsb4000, (текущая версия) :
Не компилятор, а стандарт языка.
Когда переменная на стеке выходит из области видимости, то вызывается деструктор. Всё верно.
Компилятор тоже может удалить, если докажет, что поведение программы не изменится.
Вот например: https://gcc.godbolt.org/z/exaYPq
Нет new/delete. Компилятор это убрал…
Исправление fsb4000, :
Не компилятор, а стандарт языка.
Когда переменная на стеке выходит из области видимости, то вызывается деструктор. Всё верно.
Компилятор тоже может удалить, если докажет, что поведение программы не изменится.
Вот например: https://gcc.godbolt.org/z/64Kfjq
Нет new/delete. Компилятор это убрал…
Исходная версия fsb4000, :
Не компилятор, а стандарт языка.
Когда переменная на стеке выходит из области видимости, то вызывается деструктор. Всё верно.
Компилятор тоже может удалить, если докажет, что поведение программы не изменится.