On Sonntag, 17. Januar 2016 19:13:44 CET Gunnar Roth wrote: > Hi, > I saw quite some changes like https://codereview.qt-project.org/#/c/145961/ > Replace QStringLiteral with QLatin1String in QFileSelector. I also read > about the problem of QStringLiteral concerning plugins, but what is the idea > behind these changes ? > > There is also a lot of replacing foreach with range for loops? What is the > idea behind this? Any links to read?
About QStringLiteral: As explained here: https://woboq.com/blog/qstringliteral.html QStringLiteral can avoid malloc and conversion to QString. But there is an operator==(const QString&,QLatin1String) which also don't do allocations or conversion. In that case QLatin1String is slightly better because it takes twice as less space in the binary (UTF-16 vs. ASCII) As for foreach and range for loops: the foreach macro does a bit more by doing a copy of the container and call the non const begin and end functions. That's a very small costs for qt containers (a few atomic operations) but it saves code space. All of this is probably negligible, but it helps reducing the size of the library. -- Olivier Woboq - Qt services and support - https://woboq.com - https://code.woboq.org _______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
