我有一个Python对象数组
[obj1, obj2, obj3]
我希望将它们传递给C ++函数来执行一些计算。我正在使用SWIG编写我的界面。已传递对象的类类型已在C ++中定义。
最好的方法是什么?
答案 0 :(得分:2)
这取决于你的函数是否已经编写且无法更改,在这种情况下你可能需要检查Swig文档以查看是否已经有一个从PyList到std :: vector的类型映射(我认为有)。如果没有,将PyObject *作为函数的参数并使用Python C API来操作列表应该可以正常工作。到目前为止,我没有遇到任何问题。对于自我文档,我建议将PyObject *类型化为某种预期类型,如“PythonList”,以便参数具有一定的含义。
这也可能有用: