C++ 编程/代码/标准 C 库/函数/setjmp
外观
语法 |
#include <csetjmp>
int setjmp( jmp_buf env );
|
setjmp() 函数将当前执行状态存储在 env 中,并返回 0。执行状态包括有关正在执行的代码的基本信息,以备将来调用 longjmp() 函数。如果以及何时调用 longjmp,setjmp() 将返回 longjmp 提供的参数 - 但是,在第二次返回时,在初始 setjmp() 调用后修改的变量可能具有未定义的值。
即使缓冲区是静态声明的,它也只在调用函数返回之前有效。
由于 setjmp() 不理解构造函数或析构函数,因此它已被 C++ 异常系统取代,该系统使用 throw 和 catch 关键字。
- 相关主题
- longjmp