繁体   English   中英

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

[英]Passing a Python array to a C++ vector using Swig

我在Python中有一个对象数组

[obj1, obj2, obj3]

我想将它们传递给C ++函数以执行一些计算。 我正在使用SWIG编写我的界面。 传递的对象的类类型已经在C ++中定义。

最好的方法是什么?

这取决于您的函数是否已经编写并且无法更改,在这种情况下,您可能需要检查Swig文档,以查看是否存在从PyList到std :: vector的类型映射(我认为有)。 如果不是这样,以PyObject *作为函数的参数并使用Python C API来操作列表应该可以正常工作。 到目前为止,我还没有任何问题。 对于自我文档,我建议将PyObject *类型定义为某种期望的类型,例如“ PythonList”,以使参数具有一定含义。

这也可能有用:

如何使用SWIG将std :: vector <int>公开为Python列表?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM