在boost.python / pyplusplus中包装int指针成员变量

时间:2012-04-06 18:23:15

标签: c++ python boost boost-python py++

如果我正在使用boost.python或pyplusplus,我如何包装一个int指针,或任何一个类的成员变量的指针?

例如,我如何从以下类中包装x

class Foo{
    int * x;
}

1 个答案:

答案 0 :(得分:-1)

首先,您需要将类和属性公开给Python。

#include <boost/python.hpp>

BOOST_PYTHON_MODULE(mylib)
{
    using namespace boost::python;
    class_<Foo>("Foo")
        .def_readwrite("x", &Foo::x);
}

在Python中调用类同样很简单。

>>> import mylib
>>> fooObj = mylib.Foo()
>>> fooObj.x = 3
>>> print 'fooObj.x is ', fooObj.x
fooObj.x is 3