标题说明了一切。在包含<csetjmp>,longjmp和之后,jmp_buf它们在std命名空间中,但setjmp不是。我在 MinGW4.5 和 MSVC10 上验证了这一点。在查看<csetjmp>标题后,我无法弄清楚这个选择的原因。我一直假设每个<cheader>文件都将 a 包装<header.h>在std命名空间中。
我错了吗 ?setjmp特殊情况背后的理由是什么?请赐教!
注意:我知道在 C++ 中滥用 setjmp/longjmp 的问题。