C++之setjmp和longjmp不能处理C++的异常(8)---《More Effective C++》
setjmp和longjmp是非局部性跳转语句:非局部指的是,这并不类似于普通C语言的goto语句,语句在一个函数内进行跳转,而是在栈上进行跳转,可能跳过很多调用帧,然后返回到当前函数调用路径上的某个函数中去。使用setjmp和longjmp需要注意的地方:
1)setjmp和longjmp结合使用,有其相应的调用顺序,setjmp在前,longjmp在后,以便可以恢复到先前被保存的“程序执行点”
原创
2017-09-01 21:54:23 ·
465 阅读 ·
0 评论