我有一個C++類,其中一個方法返回一個double *
數組,就像它的一個成員變量。我試圖使它成爲Python中的列表。我將它包裝在doubleArray_frompointer
中,然後嘗試使用deepcopy將其安全地移出,但當doubleArray
超出範圍時,仍然存在問題,它的內存已清理完畢,然後C++類嘗試清理相同的內存內存(儘管這在我創建的gist中沒有顯示)。從swig返回double *作爲python列表
我懷疑我應該用typemaps來做這件事。
什麼,我試圖總結是:
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"
%}
」類型映射通常不是使用SWIG所需的部分。「也許我在這裏錯過了很明顯的東西? – tsbertalan