On Friday 03 July 2015 09:42:54 Milian Wolff wrote: > The above statement is far to broad to leave it uncommented. First, and > foremost, the only place where Qt does not play nicely with smart pointers > are QObject-inherited classes. This is true, but at the same time not a > big deal as its parent-child ownership model has proven itself over the > past twenty years. I'm not saying it's better than smart pointers, just > that it's not much different. And furthermore, Qt is so much more than > QObject inherited classes, and your own types in an application are also > only QObjects if really necessary. All of the rest you can put into smart > pointers if you want to, and Qt even offers it own fair share of smart > pointers that are being used internally and externally (i.e. for C++98 > projects).
That said, there are a couple of places where smart use of smart pointers could improve Qt API. For example, a lot of I/O code takes a QIODevice*, but does not transfer ownership. Which means those classes often have a getter that gives you that QIODevice *. The problem is that there are other places that are QIODevice factories, like QNAM (QNetworkReply). Is there anything that would help people know when a pointer's ownership is transferred instead of just the documentation? Probably std::unique_ptr. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center _______________________________________________ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development