On 27 Oct 2018, at 19:29, André Pönitz <[email protected]<mailto:[email protected]>> wrote:
On Sat, Oct 27, 2018 at 04:33:30PM +0100, Sérgio Martins wrote: On Sat, Oct 20, 2018 at 1:44 PM Elvis Stansvik <[email protected]<mailto:[email protected]>> wrote: Hi all (first post), Welcome :) In Qt 5.7+ there's qAsConst, an std::as_const implementation for those who are not on C++17 yet, which is convenient for iterating over Qt containers using range-based for loops without causing a detach. For good reasons there's no version of qAsConst that takes an rvalue reference, so you can't do e.g. for (auto foo : qAsConst(returnsQtContainer()) { ... }. Instead you must do const auto stuff = returnsQtContainer(); for (auto foo : stuff) { ... }. Should we instead just encourage people to make returnsQtContainer() return a const container ? This is actually a route we recently took in some cases in Qt Creator's code base. That might actually make sense. Calling a non const method on the returned temporary object is usually a mistake anyway. And the copy/move assignment to a variable will work with the const object. Cheers, Lars
_______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
