使用Swig将Python数组传递给C++向量

4

I have an array of objects in Python

[obj1, obj2, obj3]

我希望将它们传递给一个C++函数进行一些计算,这些内容与IT技术有关。我正在使用SWIG编写接口。传递对象的类类型已在C++中定义。

最佳方法是什么?


“最佳方式”是基于什么限制条件?允许使用外部库,还是要使用Python的特殊工具? - Max Lybbert
1个回答

2
这取决于您的函数是否已经编写并且无法更改,如果是这样,您可能需要检查Swig文档,看看是否已经有了从PyList到std :: vector的typemap(我认为有)。如果没有,将PyObject *作为函数参数,并使用Python C API来操作列表应该就可以了。我到目前为止没有遇到任何问题。为了自我说明,我建议将PyObject * typedef为某种预期类型,例如“PythonList”,以便参数具有一定的含义。
这也可能很有用:如何使用SWIG将std :: vector 公开为Python列表?

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接