C ++ longjmp () och setjmp () - C ++ Standardbibliotek

Funktionen longjmp () i C ++ återställer den tidigare sparade miljön genom att anropa setjmp ().

Funktionen longjmp () definieras i rubrikfilen.

longjmp () prototyp

 ogiltigt longjmp (jmp_buf env, int-status);

Miljön som ska laddas lagras i argumentet env som sparas genom att anropa setjmp () -funktionen.

longjmp () Parametrar

  • env: Ett objekt av typen jmp_buf som lagrar miljön som ska laddas.
  • status: Variabeln som ska returneras från setjmp. Om det är lika med 0 används 1 istället.

longjmp () Returvärde

  • Ingen

Exempel: Hur fungerar 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; )

När du kör programmet blir resultatet:

 setjmp returnerade 0 setjmp returnerade 1 Program avslutas

Intressanta artiklar...