Python Swig包装器:如何访问底层PyObject

时间:2010-10-23 18:02:59

标签: c++ python swig

我已经用使用%extend:

实现的方法foo包装了A类

A级{   ...   %extend {   void foo()   {     自> foo_impl();   }   }

现在我想将引用计数增加到foo_impl中的A,但我只得到A *(作为自己)。

问题:如何编写/包装函数foo,以便我可以访问A *和底层PyObject *?

谢谢

1 个答案:

答案 0 :(得分:1)

我认为这是不可能的。如果你需要增加refcount,那是因为你不希望C ++对象在超出范围时被销毁,因为在其他地方有一个指向该对象的指针。在这种情况下,请查看使用DISOWN类型映射以确保目标语言不认为它“拥有”C ++对象,因此它不会被破坏。