Python将对象的所有权移动到C++ SID

2024-05-29 02:34:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我在C++端有一个纯虚基类,应该在Python端扩展。 例如: C++侧:

class Base {
public:
    virtual void Foo() = 0;
}

class BaseWrapper : public Base, public boost::python::wrapper<Base> {
public:
    void Foo() { this->get_override("Foo")(); }
}

BOOST_PYTHON_MODULE(libmy_cpp_pro) {
    class_<BaseWrapper, boost::noncopyable>("Base").def("Foo", pure_virtual(&BaseWrapper::Foo));
}

Python方面:

^{pr2}$

此外,我在C++侧得到了一个函数,它得到Base*并需要处理该对象——它完全拥有它。例如:

^{3}$

现在,我有一个用于Bar()的Python API,我想以C++的方式处理派生实例。在

我该怎么做?在


Tags: basegetfoovirtualpublicthiswrapper基类

热门问题