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 Программа завершается

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