Функцията 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 Прекратяване на програмата