C ++ longjmp () ja setjmp () - C ++ -kirjasto

C ++: n longjmp () -toiminto palauttaa aiemmin tallennetun ympäristön soittamalla setjmp ().

Longjmp () -toiminto määritetään otsikkotiedostossa.

longjmp () prototyyppi

 void longjmp (jmp_buf env, int-tila);

Ladattava ympäristö tallennetaan argumenttiin env, joka tallennetaan kutsumalla setjmp () -funktiota.

longjmp () -parametrit

  • env: Objekti, jonka tyyppi on jmp_buf ja joka tallentaa ympäristön ladattavaksi.
  • status: Muuttuja, joka palautetaan setjmp: stä. Jos se on yhtä suuri kuin 0, käytetään sen sijaan 1.

longjmp () Palautusarvo

  • Ei mitään

Esimerkki: Kuinka longjmp () -toiminto toimii?

 #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; )

Kun suoritat ohjelmaa, tulos on:

 setjmp palautti 0 setjmp palautti 1 Ohjelma päättyi

Mielenkiintoisia artikkeleita...