On Dienstag, 12. November 2002 13:52, Kjell Morgenstern wrote:
In der qt-Dokumentation heisste es bezüglich der qt template library : "Wenn für ihren Compiler keine passende STL Implementierung verfügbar ist, können sie statdessen die QTL benutzen."
Gibt es überhaupt (aktuelle) c++ Compiler, für die es keine STL gibt ? Auf den ersten Blick hätte ich die QTL jetzt so verstanden, dass sie die STL um bestimmte Template Klassen / Algorithmen erweitert. Wenn ich die Dokumentation richtig verstanden habe ist es aber so, dass qt die STL überhaupt gar nicht benutzt.
etwas verwirrt ;-),
Zu Recht... ;-)
Sooo lange ist es noch nicht her, daß alle gängigen Compiler die STL in voller
Schönheit unterstützen. Die QTL kommt eben noch aus der Zeit, in der manche
STL-Implementierungen unvollständig waren.
Qt intern benutzt meistens andere Klassen - Strings sowieso (die STL-Strings
taugen IMHO zu gar nix, vergleicht mal mit QString!), aber auch Container.
Die sind bei Qt i.d.R. etwas weniger allgemeingültiger vom Konzept her, aber
dafür praxisnäher und daher einfacher anzuwenden.
Wenn man eine reine Qt- oder KDE-Anwendung hat, würde ich persönlich QString /
Qt-Container empfehlen. Wenn man aber sowieso Klassen mitverwendet, die
STL-Container oder -Strings verwenden, ist es meistens effizienter, bei STL
zu bleiben - es sei denn, man muß sowieso immer hin- und herkonvertieren.
Die QTL würde ich dagegen immer nur als allerletzten Notnagel ansehen, wenn es
wirklich nichts anderes gibt. Es gibt für die meisten Containerklassen eine
Entsprechung bei Qt (ohne QTL).
CU
--
Stefan Hundhammer