"When we launched CrackBerry.com 10 years ago, we set out to make it a fun and useful destination where BlackBerry Smartphone owners could share their excitement and learn to unleash the full potential of their BlackBerry. A decade later, the CrackBerry community is as active and passionate as ever and I know our knowledgeable members and volunteers will be excited to welcome and assist more BlackBerry owners with their questions."
where this is a socket wrapper. If I explicitly delete the socket wrapper, will it also delete the QSslSocket object or do I need to do it myself?
Also, is there an accepted way of stopping and deleting threads. When I emit a signal to the quit slot, is it eventually going to emit a finished signal? Is it better to delete the thread or the worker I moved on to it first?
QObject* parent = new QObject();
QObject* child = new QObject(parent);
there is a relationship established between the parent and the child instances. In this example parent and child are both instances of QObject but the same relationship is established if the classes derive from QObject. The parent instance contains a list of pointers to its child object instances.
When you delete the parent, the child object instances each have their destructors called automatically where they free up their own resources. The key point is that you need to ensure that any classes you use, or create yourself derive, from QObject for this to work. If they don't you need to take care of cleaning up yourself.
Regarding threads and the correct way to use them in Qt. There is a quite a bit of "opinion" on how you should do this properly due to some poor Qt documentation in the past on overriding the run() method. There is a good discussion of this here: