KAutoPointer: a new autoptr class for QPointer

Thiago Macieira thiago at kde.org
Fri Jul 10 22:12:14 BST 2009

Harri Porten wrote:
>On Fri, 10 Jul 2009, Thiago Macieira wrote:
>>> BTW, Qt has broken source compatibility even for the rather trivial
>>> container classes three times already making it impossible (much to
>>> my regret) to argue in favor of Qt's containers in discussions about
>>> using the STL containers instead.
>> I don't recall of any important breakage in Qt 4. We're very careful
>> about that.
>I guess Ingo meant the three major breakages between 1/2, 3 and 4. As
> much as I'd like to use Qt container classes everywhere (including
> non-GUI) code the track record is rather weak compared to STL
> containers and other libraries. GUIs come and go - code under the hood
> often has to live much longer :)


GCC 2.7, GCC 2.96 (unofficial release), GCC 3.0, GCC 3.2, GCC 3.4. That's 5 
separate API/ABI breakages that I can remember. Though I also thought that 
2.95 had a breakage, I think it actually didn't.

If you don't believe me, believe this: GCC 2.7 had libstdc++.so.2. GCC 3.4 
and up have libstdc++.so.6. Why did they change the library soname 4 times 
in that period? (note that this doesn't count the unofficial release)

And, of course, our Solaris hackers like to use Apache's stlport instead 
of the standard Sun-provided STL. That's more breakage, for the same 
platform and compiler. Of course, they do that because they know the Sun-
provided STL has incompatibilities, which people have to code around.

See: https://bugs.webkit.org/show_bug.cgi?id=24932

At best, Qt has a better track record compared to STL. At worst, it's just 
as bad for both.

  Thiago Macieira  -  thiago (AT) macieira.info - thiago (AT) kde.org
    PGP/GPG: 0x6EF45358; fingerprint:
    E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20090710/a51910f4/attachment.sig>

More information about the kde-core-devel mailing list