C ++ longjmp () và setjmp () - Thư viện chuẩn C ++

Hàm longjmp () trong C ++ khôi phục môi trường đã lưu trước đó bằng cách gọi hàm setjmp ().

Hàm longjmp () được định nghĩa trong tệp tiêu đề.

nguyên mẫu longjmp ()

 void longjmp (jmp_buf env, trạng thái int);

Môi trường để tải được lưu trữ trong đối số env được lưu bằng cách gọi hàm setjmp ().

tham số longjmp ()

  • env: Một đối tượng kiểu jmp_buf lưu trữ môi trường để tải.
  • trạng thái: Biến trả về từ setjmp. Nếu nó bằng 0, 1 được sử dụng thay thế.

longjmp () Giá trị trả về

  • không ai

Ví dụ: Hàm longjmp () hoạt động như thế nào?

 #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; )

Khi bạn chạy chương trình, đầu ra sẽ là:

 setjmp trả về 0 setjmp trả về 1 Chương trình kết thúc

thú vị bài viết...