gpt4 book ai didi

python - Boost.Python 如何保存 C++ 类?

转载 作者:太空宇宙 更新时间:2023-11-04 13:39:44 25 4
gpt4 key购买 nike

我知道如何使用 Boost.Python 包装暴露给 Python 的 C++ 类。使用 Boost.Python 如此方便地包装东西真的很强大。

但是,很少有关于 Boost.Python 如何持有 C++ 类的详细说明。

Boost.Python 的代码很难阅读或调试,因为它是以模板元编程方式编写的,所有的东西都只是在编译期间执行。我浏览了作者的文档和“使用 Boost Python 构建混合系统”一文,但没有找到答案。

那么,Boost.Python 是如何持有 C++ 类的呢?

它是否将包装的 C++ 类实例保存为 PyObject 的私有(private)成员?是否通过委托(delegate)给持有的实例来模拟包装类的所有继承、多态等特性?

最佳答案

So, how does Boost.Python hold C++ class?

迂腐地说,在 C++ 中,在运行时没有类,只有类的对象或实例。

Boost 类包装器通过值或通过智能指针保存您的 C++ 对象(目前仅支持弃用的 std::auto_ptr)。

不幸的是,boost.python 文档相当缺乏,这里有一些对您有用的链接:

关于python - Boost.Python 如何保存 C++ 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28186143/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com