Создание и уничтожение локальных переменных с участием оптимизатора

Если у меня есть этот код:

class A { ... };
class B { ... };

void dummy()
{
    A a(...);
    B b(...);
    ...
}

Я знаю, что переменные a и b будет уничтожен в обратном порядке распределения (сначала будет уничтожено b , затем a ); но могу ли я быть уверен, что оптимизатор никогда не поменяет местами распределение и построение a и b ? Или я должен использовать volatile , чтобы обеспечить его соблюдение?

5
задан Loghorn 10 March 2011 в 09:35
поделиться