从python对象创建c连续数组的简单有效方法是什么?假设我希望创建可以使用 python 对象构造的 C++ Matrix 类。
template<typename T>
struct Matrix
{
Matrix(PyObject* obj)
{
// extract nrows, ncols, allocate data and copy content
}
T* data;
int nrows;
int ncols;
};
这个构造函数应该接受 python 对象,例如:
[[0., 1.], [1. 0.]]
((1, 2), (2, 3), (3, 4))
numpy.zeros((3, 5))