Функція longjmp () у C ++ відновлює попередньо збережене середовище, викликавши setjmp ().
Функція longjmp () визначена у файлі заголовка.
прототип longjmp ()
void longjmp (jmp_buf env, статус int);
Навколишнє середовище зберігається в аргументі 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 Завершення програми