我有一个 C++ 类,其中一个方法返回一个double *
类似数组的数组,它是它的成员变量之一。我试图让它作为 Python 中的列表访问。我将它包装在 adoubleArray_frompointer
中,然后尝试使用 deepcopy 将其安全地从那里取出,但是当doubleArray
超出范围时我仍然遇到问题,它的内存被清理,然后 C++ 类尝试清理相同的内存(尽管我创建的要点中没有显示)。
我怀疑我应该使用类型映射来执行此操作。
我要包装的是:
double *foo() {
double *toReturn = new double[2];
toReturn[0] = 2;
toReturn[1] = 4;
return toReturn;
}
界面是:
%module returnList
%include "returnList.h"
%include "cpointer.i"
%pointer_functions(double, doubleP)
%include "carrays.i"
%array_class(double, doubleArray);
%{
#include "returnList.h"
%}