Скажем, у меня есть следующий код:
struct mytype
{
~mytype() { /* do something like call Mix_CloseAudio etc */ }
};
int main()
{
mytype instant;
init_stuff();
start();
return 0;
}
Является ли этот деструктор гарантированно вызываться, даже если exit() используется где-то внутри start()?