如果我有以下代码:
class A { ... };
class B { ... };
void dummy()
{
A a(...);
B b(...);
...
}
我知道变量a
和b
将按相反的分配顺序被销毁(b
将首先被销毁,然后是a
);但是我能确定优化器永远不会交换a
和b
的分配和构造吗?或者我必须使用volatile
来强制执行?
b
在某种程度上依赖于a
,它就无法这样做——但为什么会这样呢? - wallyk