[Development] Proposal: Deprecate QVector in Qt 6

Lars Knoll lars.knoll at qt.io
Wed May 20 19:15:19 CEST 2020


On 20 May 2020, at 17:34, Matthew Woehlke <mwoehlke.floss at gmail.com<mailto:mwoehlke.floss at gmail.com>> wrote:

On 20/05/2020 09.11, Lars Knoll wrote:
Here’s what we will do:
* QList and QVector are aliases for each other
* We make QList the main type, and QVector an alias to it
* We keep both names, QList and QVector. None of them is deprecated

While I don't object to this as such, can someone remind me what is the solution for people that *need* the semantics of old QList (either reference stability or indirect allocation)?

There’s an option to provide a Q5List in qt5compat.

Of course one could also add a new class to Qt 6 that always allocates indirectly. But in that case I would propose to redesign it, so that is uses block allocations to avoid at least some of the overhead of QList in Qt 5. This is probably something that nobody will have time to do before 6.0 though.

Also, will the new QVector/QList have the prepend optimization of old QList?

Yes, see https://bugreports.qt.io/browse/QTBUG-84320

Cheers,
Lars

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20200520/0e409136/attachment.html>


More information about the Development mailing list