C ++ longjmp () и setjmp () - C ++ стандартна библиотека

Функцията longjmp () в C ++ възстановява предварително запазената среда чрез извикване на setjmp ().

Функцията longjmp () е дефинирана в заглавния файл.

прототип longjmp ()

 void longjmp (jmp_buf env, int status);

Средата за зареждане се съхранява в аргумента env, който се записва чрез извикване на функцията setjmp ().

longjmp () Параметри

  • env: Обект от тип jmp_buf, който съхранява средата за зареждане.
  • status: Променливата, която се връща от setjmp. Ако е равно на 0, вместо него се използва 1.

longjmp () Върната стойност

  • Нито един

Пример: Колко работи функцията 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; )

Когато стартирате програмата, изходът ще бъде:

 setjmp върна 0 setjmp върна 1 Прекратяване на програмата

Интересни статии...