Kiedy C ++ kończy obsługę programu Right Thing (TM)?
Standard C ++ zapewniastd::set_terminate
funkcja, która pozwala określić jaką funkcjęstd::terminate
powinien zadzwonić.std::terminate
powinien być wywoływany tylko w trudnych okolicznościach i na pewno sytuacje, które opisuje standard, gdy jest wywoływany, są straszne (np. nieprzechwycony wyjątek). Gdystd::terminate
Sytuacja wydaje się być analogiczna do braku pamięci - nie ma zbyt wiele rzeczy, które można rozsądnie zrobić.
Czytałem, że można go użyć do zapewnienia uwolnienia zasobów - ale dla większości zasobów powinno to być obsługiwane automatycznie przez system operacyjny, gdy proces się kończy (np. Uchwyty plików). Teoretycznie widzę przypadek, jeśli powiedziano, trzeba wysłać serwerowi konkretną wiadomość podczas wychodzenia z powodu awarii. Jednak większość czasu obsługi systemu operacyjnego powinna być wystarczająca.
Kiedy korzystasz z zakończonej obsługi Right Thing (TM)?