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

De functie longjmp () in C ++ herstelt de omgeving die eerder is opgeslagen door setjmp () aan te roepen.

De functie longjmp () is gedefinieerd in het header-bestand.

longjmp () prototype

 ongeldig longjmp (jmp_buf env, int status);

De omgeving die moet worden geladen, wordt opgeslagen in het argument env, dat wordt opgeslagen door de functie setjmp () aan te roepen.

longjmp () Parameters

  • env: een object van het type jmp_buf dat de te laden omgeving opslaat.
  • status: de variabele die moet worden geretourneerd uit setjmp. Als het gelijk is aan 0, wordt in plaats daarvan 1 gebruikt.

longjmp () Retourwaarde

  • Geen

Voorbeeld: hoe werkt de functie 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; )

Wanneer u het programma uitvoert, is de uitvoer:

 setjmp geretourneerd 0 setjmp geretourneerd 1 Programma wordt beëindigd

Interessante artikelen...