我有一个包含 void 函数的 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 中我somefunction
使用 Python 列表调用,但我不确定 C++ 层是否可以修改result
Python 列表。
然后我的问题是如何为 C++ 函数编写 Python 绑定,这些函数修改通过 reference 和 return 传递的 STL 向量的内容void
。