[PyQt] Smartpointer to Python
Arve Knudsen
arve.knudsen at gmail.com
Mon May 26 14:10:53 BST 2008
On Mon, May 26, 2008 at 2:37 PM, Phil Thompson
<phil at riverbankcomputing.com> wrote:
> On Monday 26 May 2008 1:10:11 pm Arve Knudsen wrote:
>> Hi
>>
>> Reading the SIP documentation I can't find any info on how C++ objects
>> are deleted (returned to the heap) from Python, only that their
>> destructor is called.
>
> ...when the Python object is garbage collected and if the C++ object is owned
> by Python.
Yes, that much is clear.
>> Does this mean that when returning new'ed
>> pointers to Python they should be managed by smartpointers? If so, is
>> there any mechanism in SIP for treating smartpointers as objects of
>> their managed type from Python?
>
> SIP effectively implements its own smartpointer mechanism - so long as the C++
> type has a virtual dtor and the C++ object is created from Python.
Could the SIP documentation be more clear about this? I can only see
that it says that pointers to C structs will be free'ed, and that C++
objects are destroyed. I need to make sure that C++ objects are
deleted, not just destroyed.
Thanks,
Arve
More information about the PyQt
mailing list