У меня есть код, который управляет мьютекс блокировки/разблокировки, основанный на объеме:Можете ли вы гарантировать порядок деструктора, когда объекты объявлены в стеке?
void PerformLogin()
{
ScopeLock <Lock> LoginLock(&m_LoginLock);
doLoginCommand();
ScopeLock <SharedMemoryBase> MemoryLock(&m_SharedMemory);
doStoreLogin();
...
}
Могу ли я гарантировать, что MemoryLock
будет разрушена до того LoginLock
?
Отличный ответ. У меня есть код, который опирается на порядок вызовов деструкторов, и я искал твердую причину, почему они всегда были упорядочены определенным образом, прежде чем доверять моему коду было правильным. – 2017-04-10 20:15:02