Здравствуйте, Glenn, Вы писали:
G>ВОПРОС: гарантируется ли что деструктор объекта 'MyClass2 obj' вызовется ДО выполнения '--m_counter'? Не передвинет ли оптимизатор вызов деструктора на момент ПОСЛЕ '--m_counter' — вдруг он просто уберёт блок '{...}', окружающий 'MyClass2 obj' как 'ненужный'? С этими оптимизаторами ни в чём нельяз быть уверенным
Оптимизатор волен делать что угодно, но при этом он оставит видимое поведение программы таким, как будто деструктор вызывается до декремента.