Unter welchen Umständen werden C ++ - Destruktoren nicht aufgerufen?

Ich weiß, dass meine Destruktoren beim normalen Abwickeln des Stapels und beim Auslösen von Ausnahmen aufgerufen werden, aber nicht beim Aufrufen von exit ().

Gibt es noch andere Fälle, in denen meine Destruktoren nicht aufgerufen werden? Was ist mit Signalen wie SIGINT oder SIGSEGV? Ich nehme an, dass sie für SIGSEGV nicht aufgerufen werden, aber für SIGNINT: Woher weiß ich, welche Signale den Stapel abwickeln werden?

Gibt es noch andere Umstände, unter denen sie nicht angerufen werden?

Antworten auf die Frage(16)

Ihre Antwort auf die Frage