Если у меня есть этот код:
class A { ... };
class B { ... };
void dummy()
{
A a(...);
B b(...);
...
}
Я знаю, что переменные a
и b
будет уничтожен в обратном порядке распределения (сначала будет уничтожено b
, затем a
); но могу ли я быть уверен, что оптимизатор никогда не поменяет местами распределение и построение a
и b
? Или я должен использовать volatile
, чтобы обеспечить его соблюдение?