c/c++如何获取未知数组的维数?非常感谢!!

这是cpython的接口代码,我想把它转换为纯c/c++语言,但PyArray_Dim这个获取维数的方法,我在网上找不到相关c语言代码,因为请问如何获得数组维数呢?非常感谢!!
//======================================

void *
resize_array(double *py_arr, int newsize)
{

int i, ndim = PyArray_NDIM((PyArrayObject *) py_arr);
npy_intp *dims = malloc(ndim*sizeof(npy_intp));
for (i = 0; i < ndim; i++) dims[i] = PyArray_DIM((PyArrayObject *) py_arr, i);
dims[0] = newsize;

PyArray_Dims newshape;
newshape.ptr = dims;
newshape.len = ndim;

PyObject *retval;
retval = PyArray_Resize((PyArrayObject *) py_arr, &newshape, 1, NPY_CORDER);
if (!retval) return NULL;
Py_DECREF(retval);

return PyArray_DATA((PyArrayObject *) py_arr);
}

//======================================

因为根本没有,C、C++里的数组是原始数据类型,其维数信息哪儿都没存,你当然没有办法获取
对于C,你甚至很难用数据结构搞定它,当然用复杂的struct可以搞定,就是太麻烦了
对于C++,你可以写数组类,但是用原生的类型就不要指望了
温馨提示:答案为网友推荐,仅供参考
相似回答