Я не так давно начала изучать С++, поэтому мои вопросы могут показаться кому-то глупыми, но попрошу никак меня не называть, все вы когда-то и с чего-то начинали.
Вопрос:
Выполнение программы можно завершить несколькими способами, на меня сейчас интересует вызов ф-ций exit() и abort(). Разницу между ними я понимаю, но не понимаю, когда какой воспользоваться. В каких случаях нужно использовать abort()?
Страуструп пишет, что вызов exit() из деструктора может привести к бесконечной рекурсии?…- как это он так может???
class A
{
public:
~A()
{
std::cout << "dtor" << std::endl;
exit(0);
}
};
int main(int, char**)
{
A a;
}
деструктор вызвался один раз, какая рекурсия???