[Interest] Proper use of SharedPointer/WeakPointer

Thiago Macieira thiago at kde.org
Thu Feb 23 15:29:31 CET 2012


On quinta-feira, 23 de fevereiro de 2012 06.26.19, Jason H wrote:
> So in a return-everything query function, it would look like:
> 
> QList<QSharedPointer<QObject*> > ObjectDatabase::returnAll()
> {
>     QList<QSharedPointer<QObject*> > results;
>     foreach (const obj, m_pObjects)
>     {
> 
>         results << QSharedPointer(obj);
>     }
> 
>     return results;
> }
> 
> Yes?

No.

It is something like this:

QList<QSharedPointer<QObject*> > ObjectDatabase::returnAll()
{
	return m_pObjects;
}

You must already have those objects in QSharedPointer somewhere. Otherwise 
QSharedPointer *will* delete them.

-- 
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
   Software Architect - Intel Open Source Technology Center
      PGP/GPG: 0x6EF45358; fingerprint:
      E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20120223/4b2e4ba6/attachment.sig>


More information about the Interest mailing list