跳转到内容

C++ 编程/代码/标准 C 库/函数/setjmp

来自维基教科书,开放的书籍,开放的世界
语法
#include <csetjmp>
int setjmp( jmp_buf env );

setjmp() 函数将当前执行状态存储在 env 中,并返回 0。执行状态包括有关正在执行的代码的基本信息,以备将来调用 longjmp() 函数。如果以及何时调用 longjmp,setjmp() 将返回 longjmp 提供的参数 - 但是,在第二次返回时,在初始 setjmp() 调用后修改的变量可能具有未定义的值。

即使缓冲区是静态声明的,它也只在调用函数返回之前有效。

由于 setjmp() 不理解构造函数或析构函数,因此它已被 C++ 异常系统取代,该系统使用 throwcatch 关键字。

注意
setjmp 似乎不在 std 命名空间 中。

相关主题
longjmp
华夏公益教科书