LINUX.ORG.RU

История изменений

Исправление fsb4000, (текущая версия) :

Не компилятор, а стандарт языка.

Когда переменная на стеке выходит из области видимости, то вызывается деструктор. Всё верно.

Компилятор тоже может удалить, если докажет, что поведение программы не изменится.

Вот например: https://gcc.godbolt.org/z/exaYPq

Нет new/delete. Компилятор это убрал…

Исправление fsb4000, :

Не компилятор, а стандарт языка.

Когда переменная на стеке выходит из области видимости, то вызывается деструктор. Всё верно.

Компилятор тоже может удалить, если докажет, что поведение программы не изменится.

Вот например: https://gcc.godbolt.org/z/64Kfjq

Нет new/delete. Компилятор это убрал…

Исходная версия fsb4000, :

Не компилятор, а стандарт языка.

Когда переменная на стеке выходит из области видимости, то вызывается деструктор. Всё верно.

Компилятор тоже может удалить, если докажет, что поведение программы не изменится.