何时以及为什么longjmp在C++中使用?

dat*_*ili -6 c++

我已阅读以下教程,但我不太了解.何时使用longjmp以及为什么需要知道?

http://www.cplusplus.com/reference/clibrary/csetjmp/longjmp/

Jam*_*lis 15

只是不要使用它.

你唯一想在C++中使用它的时间永远不会.你应该永远没有任何理由在一个编写良好的C++程序中使用它(事实上,你应该永远没有任何理由在一个写得不好的C++程序中使用它).

  • +1我从来没有使用过这个功能,我很好. (8认同)

Hol*_*nce 5

setjmp/longjmp是一种处理异常的老式方法.首先,设置跳转点setjmp().然后,从程序中的任何其他位置,您都可以跳回到那一点longjmp().如果您的程序可以使用例外 - 而且现在大多数程序都可以 - 那么您不需要使用这些功能.

  • 严格来说,使用它跳出*any*自动变量的范围是未定义的行为. (2认同)