[Development] HEADS UP: Don't use QList, use Q_DECLARE_TYPEINFO

Bubke Marco Marco.Bubke at theqtcompany.com
Tue Jul 21 11:55:45 CEST 2015




From: development-bounces+marco.bubke=theqtcompany.com at qt-project.org <development-bounces+marco.bubke=theqtcompany.com at qt-project.org> on behalf of Kevin Kofler <kevin.kofler at chello.at>
> If you have large objects, and insert or remove items within the list,
> QVector will have to move (or even copy&delete, if they're not movable)
> large amounts of data. Unless you use a QVector<T*>, but that loses the
> value semantics in several places. And a QLinkedList is not an option if you
> also need O(1) (or anything faster than O(n), even) item retrieval. Pointer
> arrays have their advantages.

It depends if you care about the order of the container. If you don't and my 
experience you don't care in many cases you can simply use std::remove_if + erase 
and being very efficient.  


More information about the Development mailing list