[Development] Upgrading the sources to C++11 keywords (Q_NULLPTR, etc.)

Ziller Eike Eike.Ziller at theqtcompany.com
Tue Feb 10 08:41:47 CET 2015

> On Feb 9, 2015, at 3:40 PM, Marc Mutz <marc.mutz at kdab.com> wrote:
> On Monday 09 February 2015 09:54:12 Smith Martin wrote:
>> This is the kind of thing we should add to the documentation, but can you
>> elaborate? I mean, illustrate the meaning of "locality of reference,"
>> "wildly mixing insertions, lookups, and removals," and "batch updates and
>> separate them from lookups, time-wise."
> There is a book, Effective STL, and an online paper, "What every programmer 
> needs to know about memory". I don't think that it's the job of the Qt docs to 
> explain "what every programmer needs to know about memory", because it is not 
> specific to Qt.
> The Qt documentation also doesn't give many details on Unicode. It's assumed 
> that people using it know the basics.
> You will also not find in the Qt docs that signed integer overflow is undefined 
> behaviour.
> The Qt docs are not a CS text book :)

That QMap is implemented based on a RB tree is mentioned in a single sentence in the beginning of the description of the class, which is the sentence that nobody ever reads (because it tends to contain useful information like "The QList class is a template class that provides lists.”).

It is followed by a short (but longer) comparison between QMap and QHash, which in turn is linked to a relatively long section that compares the complexity of Qt’s different containers.
So, fact is that the Qt docs *do* explain more than “QMap is a RB tree” (and I think that is good so). And since they talk a lot about algorithmic complexity, it would probably be useful to mention a few other things that concern performance differences as well. In ~5 sentences. I really can’t see how that could hurt.

Actually you sounded like you’d like to educate people about this also “outside of CS courses” (by sending them to their manager etc), so do you have a different, realistic proposal?

Eike Ziller, Senior Software Engineer - The Qt Company GmbH
The Qt Company GmbH, Rudower Chaussee 13, D-12489 Berlin
Geschäftsführer: Mika Pälsi, Juha Varelius, Tuula Haataja
Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB 144331 B

More information about the Development mailing list