8
考慮下面的代碼任何保證:是否有在C++堆棧變量的順序被破壞
{
std::auto_ptr<Something> p1(pSomePointer);
std::auto_ptr<Something> p2(pSomeOtherPointer);
...
}
是否有任何保證,P2析構函數之前P1的退出範圍時叫什麼名字?常識說堆棧變量應該先從堆棧頂部銷燬,但C++編譯器可以重新排列任務。
...不僅適用於堆棧變量。 – sbi 2010-11-12 14:30:22
@sbi:是的,如果不採取措施,後者可能導致各種各樣的錯誤。 – sharptooth 2010-11-12 14:31:47
@sbi我們在談論什麼其他變數?全球? – Elemental 2010-11-12 15:41:01