比方說,我有以下代碼:退出()或異常會阻止調用結束範圍的析構函數嗎?
struct mytype
{
~mytype() { /* do something like call Mix_CloseAudio etc */ }
};
int main()
{
mytype instant;
init_stuff();
start();
return 0;
}
那是析構函數保證即使exit()時從某處內部使用的start()被調用?
異常將調用析構函數,'exit()'不會。 – falstro 2010-04-19 14:20:38
不完全是這種情況,但我得到的析構函數在Linux上使用GCC調用*靜態對象*。 – 2015-05-19 18:54:38