我有控制器,基於範圍互斥鎖/解鎖代碼:當堆棧中聲明對象時,你能保證析構函數的順序嗎?
void PerformLogin()
{
ScopeLock <Lock> LoginLock(&m_LoginLock);
doLoginCommand();
ScopeLock <SharedMemoryBase> MemoryLock(&m_SharedMemory);
doStoreLogin();
...
}
我可以保證,MemoryLock
將LoginLock
之前遭到破壞?
很棒的回答。我有一些依賴析構函數調用順序的代碼,我一直在尋找一個堅實的理由,爲什麼他們總是以一種特定的方式訂購,然後才相信我的代碼是正確的。 – 2017-04-10 20:15:02