私はC++クラスを持っており、そのメソッドのdouble *
1つは、そのメンバー変数の1つである配列のようなものを返します。Pythonでこれをリストとしてアクセスできるようにしようとしています。私はそれをでラップし、doubleArray_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"
%}