C ++ longjmp () und setjmp () - C ++ Standard Library

Die Funktion longjmp () in C ++ stellt die zuvor durch Aufrufen von setjmp () gespeicherte Umgebung wieder her.

Die Funktion longjmp () ist in der Header-Datei definiert.

longjmp () Prototyp

 void longjmp (jmp_buf env, int status);

Die zu ladende Umgebung wird im Argument env gespeichert, das durch Aufrufen der Funktion setjmp () gespeichert wird.

longjmp () Parameter

  • env: Ein Objekt vom Typ jmp_buf, das die zu ladende Umgebung speichert.
  • status: Die von setjmp zurückzugebende Variable. Wenn es gleich 0 ist, wird stattdessen 1 verwendet.

longjmp () Rückgabewert

  • Keiner

Beispiel: Wie funktioniert die Funktion longjmp ()?

 #include #include using namespace std; int main() ( jmp_buf env; int val; val = setjmp(env); if (val==0) ( cout << "setjmp returned " << val << endl; longjmp(env,val); ) else ( cout << "setjmp returned " << val << endl; cout << "Program terminating" << endl; ) return 0; )

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 setjmp gab 0 zurück setjmp gab 1 Programm wurde beendet

Interessante Beiträge...