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

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

Цікаві статті...