I have an array of objects in Python [obj1, obj2, obj3] 我希望将它们传递给一个C++函数进行一些计算,这些内容与IT技术有关。我正在使用SWIG编写接口。传递对象的类类型已在C++中定义。 最佳方法是什么?
这取决于您的函数是否已经编写并且无法更改,如果是这样,您可能需要检查Swig文档,看看是否已经有了从PyList到std :: vector的typemap(我认为有)。如果没有,将PyObject *作为函数参数,并使用Python C API来操作列表应该就可以了。我到目前为止没有遇到任何问题。为了自我说明,我建议将PyObject * typedef为某种预期类型,例如“PythonList”,以便参数具有一定的含义。这也可能很有用:如何使用SWIG将std :: vector 公开为Python列表?