繁体   English   中英

用pybind11包装C ++无效函数

[英]Wrapping C++ void functions with pybind11

我有一个C ++类,其中包含void函数,这些函数接受通过引用传递的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

pybind11/stl.h结果包括在c ++和pyhton之间的复制转换中,请参见http://pybind11.readthedocs.io/zh/stable/advanced/cast/stl.html#automatic-conversion

要通过参考传递,请参见http://pybind11.readthedocs.io/en/stable/advanced/cast/stl.html#making-opaque-types部分

暂无
暂无

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

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