Если у меня следующая конфигурация:
#include "custom.hpp" typedef struct { PyObject_HEAD FastFile* cppobjectpointer; } PyFastFile; static int PyFastFile_init(PyFastFile *self, PyObject *args, PyObject *kwds) { self->cppobjectpointer = new FastFile( filepath ); return 0; }
Как мне освободить мою cppobjectpointer?
cppobjectpointer
Должен ли я сделать это:
static void PyFastFile_dealloc(PyFastFile * self) { delete self->cppobjectpointer; Py_TYPE(self)->tp_free( (PyObject *) self ); }
Или это:
static void PyFastFile_dealloc(PyFastFile * self) { Py_XDECREF(self->cppobjectpointer); Py_TYPE(self)->tp_free( (PyObject *) self ); }
Ссылки: