about kde4's smart pointer

André Wöbbeking Woebbeking at onlinehome.de
Tue Oct 3 16:59:11 BST 2006


On Tuesday 03 October 2006 15:58, Cyrille Berger wrote:
> Hello
>
> Can we have the kde3 behaviour back for smart pointer ? The new one
> is really painfull. We use them a lot in krita, and what we want is
> them to be use transparently as if they were "normal" pointers.
>
> I mean for instance:
>
> typedef KSharedPtr<KisPaintDevice> KisPaintDeviceSP;
> typedef KSharedPtr<KisDevice> KisDeviceSP;
> KisPaintDeviceSP pd = KisPaintDeviceSP(new KisPaintDevice());

KisPaintDeviceSP pd(new KisPaintDevice());

> KisDeviceSP d = KisDeviceSP( pd.data()); // Assuming that
> KisPaintDevice inherits from KisDevice

Yeah, a converting "copy ctor" is missing.

BTW, KisDeviceSP( pd.data()) is asking for trouble (double deletion).

> instead of
> KisPaintDeviceSP pd = new KisPaintDevice();
> KisDeviceSP d = pd;
>
> And there is also pd.isNull instead of pd == 0.

!pd

> And I forget other difference of behaviour between our smartpointers
> and the "normal" pointers.

???




More information about the kde-core-devel mailing list