我有一个包含空函数的C++类,这些函数接受通过引用传递的STL向量,并修改其中一个向量的内容。例如:
void somefunction(std::vector<double> &result, std::vector<double> &array1, std::vector<double> &array2) {some calculations}
pybind11绑定如下所示:
.def("somefunction", &somefunction)
我已经包含了'pybind11/stl.h‘头文件,它处理STL容器和python等效项之间的自动转换,在Python中,我使用Python列表调用somefunction,但我不确定C++层是否可以修改result Python列表。
然后我的问题是,如何为C++函数编写Python绑定,这些函数修改通过引用传递的STL向量的内容并返回void。
发布于 2018-04-23 16:14:54
将pybind11/stl.h结果包含到c++和pyhton之间的复制转换,请参见http://pybind11.readthedocs.io/en/stable/advanced/cast/stl.html#automatic-conversion
要通过引用传递,请参阅http://pybind11.readthedocs.io/en/stable/advanced/cast/stl.html#making-opaque-types小节
https://stackoverflow.com/questions/49919951
复制相似问题