我们在阅读 pybind11 源码时也会发现 capsule 的使用.
----
2.2 生命周期控制的辅助设施
reinterpret_steal 和 reinterpret_borrow 是...note] 注意 pybind11 的 borrow 对引用计数的处理是通过object创建时引用计数+1, 销毁时引用计数-1, 来达成的不改变原始引用计数, 而不是我们想象中的不变, 所以我们应该尽量结合栈对象使用...其实是不利于使用的, 首先它关联的 C++ 对象存储的位置可能是 union 中的一项, 另外类型信息需要额外的调用才能准确获取, 所以 pybind11 在使用上包装了一个 value_and_holder...当 C++ 代码抛出一个异常时,Pybind11 会捕获该异常并将其转换为相应的 Python 异常。同样,当 Python 代码抛出异常时,Pybind11 也可以将其转换为 C++ 异常。...C++ 异常.
----
5.2 C++ 中处理 Python 异常
这个其实就是我们一般需要在引擎中支持的脚本错误处理回调, 回调中一般会输出错误日志等信息, 通过 pybind11, 这个功能也能很好的完成