从C++传到Python
常见的教程如这个问题及回答是将大小已知的numpy数组传入传出C++,如确定会从C++传出大小为 M × N M \times N M×N的矩阵。方法简单讲就是在Python端分配一个大小为 M × N M \times N M×N的矩阵,把指向这个矩阵的指针传给C++,C++负责修改矩阵的内容,结束后矩阵就自动“传回”了。
然而有时我们事先不知道从C++传回的矩阵是多大,这时我们可以用这个回答所提及的技术,即从C++传回std::vector
,然后在Python端把它无拷贝地转成numpy数组。
例子:从C++传回 M × 2 M \times 2 M×2大小的矩阵, M M