Я работаю над домашним заданием по C++, и в инструкциях сказано, что было бы хорошо использовать atexit() следующим образом:
"Убедитесь, что программа завершается корректно в случае прерывания (использование обработчика atexit() – хороший способ сделать это)."
Домашнее задание не имеет ничего общего с прерывание выполнения программы (речь идет об управлении памятью), это всего лишь предложение, но я не уверен, как его использовать. Причина решения этой ситуации заключается в том, что выполнение программы может занять слишком много времени в зависимости от определенных параметров при ее запуске. Если это займет слишком много времени, я могу нажать CTRL-C или другую комбинацию клавиш, чтобы аварийно остановить выполнение.
Это то, что я сделал.
void AtExitFunc()
{
release_allocator();
}
int main(int argc, char ** argv) {
// Set default values.
int intMemSize = 512;
int intBasicBlock = 128;
atexit(AtExitFunc);
init_allocator(intBasicBlock, intMemSize);
ackerman_main();
release_allocator();
return 0;
}
Подробнее здесь: https://stackoverflow.com/questions/395 ... texit-in-c