Hi Andre, thanks for the write-up!
On Friday 12 June 2015 08:08:51 André Somers wrote: > Available for use then: range-for? variadic macros (these we already use in tests/ and no-one complained so far). > No for now: std::for_each (issues with leaks) Which leaks? > For now, don’t put std lib ABI into Qt ABI, except for nulltpr_t. Too late: QException inherits std::exception (for a looong time already), and by virtue of various exported subclasses of QVector and QList, we export ABI that contains std::vector and std::list (toStdList(), toStdVector()). We probably also export ABI using std::string, because I'm sure someone somewhere has inherited an exported class from QString... std::list and std::string are BiC in GCC, probably each at different releases, and probably between C++98 and 11 builds. FTR: Making std::list::size() O(1) in C++11 was a huge mistake, IMO. It pessimises the one use-case I have _ever_ used std::list for: splicing. Maybe forward_list is a replacement now... > For lambda’s: how to deal with captures? They are dangerous. Default to > capture by value, capture by reference or pointer is problem. The first thing *I* think when thinking lambdas is: code bloat. Please be _very_ careful. Every lambda has it's own unique type, even if they are token- for-token identical. Using the same one on a template makes the whole template code duplicate. And I don't know any compiler that does a merge of binary identical code (does anyone?). So, when a lambda is used in more than one place, please consider making it a namespace-level auto variable (only possible if it doesn't use local captures) or, yes, go the extra mile and write the function object explicitly. Then again, using a lambda instead of a member-function private slot tends to leads to more compact executable code (at least than the SLOT()-based connect()). Thanks, Marc -- Marc Mutz <marc.m...@kdab.com> | Senior Software Engineer KDAB (Deutschland) GmbH & Co.KG, a KDAB Group Company Tel: +49-30-521325470 KDAB - The Qt Experts _______________________________________________ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development