[Qt-interest] About QScopedPointer
Anton Chernov
mechernov at gmail.com
Fri May 13 13:26:24 CEST 2011
Looks ok to me.
2011/5/13 Mihail Naydenov <mlists at ymail.com>
> ----- Original Message ----
>
> > From: Thiago Macieira <thiago at kde.org>
> > To: qt-interest at qt.nokia.com
> > Sent: Fri, May 13, 2011 12:39:55 PM
> > Subject: Re: [Qt-interest] About QScopedPointer
> >
> > On Friday, 13 de May de 2011 00:47:56 Mihail Naydenov wrote:
> > > I am in a bit of a struggle how to pass a pointer to a
> > > QScopedPointer-managed pointer.
> > > It seems impossible:
> > >
> > > QScopedPointer<Data> d;
> > >
> > > fund(void** data); //< want to pass d into this
> >
> > No, you don't.
> >
> > You have a QScopedPointer<Data>, which is equivalent to Data*. One level
> of
> > pointer.
> >
> > That function takes a void**: two levels of pointers.
> >
> > If you had a simple Data *d; you'd pass &d. That usually means that the
> called
> >
> > function would modify the pointer.
>
>
> Problem is sometimes the pointer is not initialized when constructed.
>
> It is later initialized by some func(Data** data)
>
> Now I will have to do
>
> Data* p = NULL;
>
> func(&p);
>
> QScopedPointer<Data, Release> sp(p);
>
> // use sp, forget about p
>
> Which is a bit cumbersome
>
> >
> > That's a really bad idea with QScopedPointer. It owns the pointer and
> you
> > should not modify the value from underneath it.
> >
> > > I guess QScopedPointer lacks a T*& data() member function. Is this
> going to
> > > be addressed. Or am I missing something.
> >
> > No, it's not going to be addressed. That method can only be used to
> allow you
>
> > to modify the pointer that QScopedPointer tracks without telling it.
> >
> > You chose to use QScopedPointer so it would manage the pointers for you.
> >
> > --
> > Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
> > Senior Product Manager - Nokia, Qt Development Frameworks
> > PGP/GPG: 0x6EF45358; fingerprint:
> > E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358
> >
> _______________________________________________
> Qt-interest mailing list
> Qt-interest at qt.nokia.com
> http://lists.qt.nokia.com/mailman/listinfo/qt-interest
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.qt-project.org/pipermail/qt-interest-old/attachments/20110513/e09857be/attachment.html
More information about the Qt-interest-old
mailing list