【发布时间】:2015-01-28 06:39:38
【问题描述】:
我知道如何使用 Boost.Python 来包装暴露给 Python 的 C++ 类。 使用 Boost.Python 如此方便地进行包装,真的很强大。
然而,关于 Boost.Python 如何持有 C++ 类的细节很少被解释。
Boost.Python 的代码很难阅读或调试,因为它是以模板元编程方式编写的,所有东西都只是在编译时执行。我浏览了作者的文档和“使用 Boost Python 构建混合系统”一文,但没有找到答案。
那么,Boost.Python 是如何拥有 C++ 类的呢?
它是否将封装的 C++ 类实例作为 PyObject 的私有成员保存?包装类的所有继承、多态等特性是否都通过委托给持有的实例来模仿?
【问题讨论】:
标签: python c++ boost boost-python