Hallo ! 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 ;-), Kjell Morgenstern
Moin Moin,
From: "Kjell Morgenstern"
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."
Wenn Du qt selbst kompilierst, kannst Du IMHO mit "configure" auswählen, ob Du STL support haben willst oder eben nicht.
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.
STL ist IMHO nicht "Pflicht", aber jeder gute Kompiler hat die Template Library. Ich denke, QT hat da einige eigene Implementierungen produziert. Ich nehme immer die orig. STL..., damit bin ich einfach besser bedient. Ciao Andre
Hi, On Wed, 13 Nov 2002, Andre Heine wrote: Fix mal deinen Mailer. Die Umbrueche in deiner Antwort sind zerbrochen und deshalb zum brechen ;-) Ich fix das mal in der Antwort.
From: "Kjell Morgenstern"
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."
Man kann die QTL natuerlich auch benutzen, wenn die STL verfuegbar ist. Sie kann ein paar Dinge mehr als STL, manche Dinge allerdings auch nicht. Sie integriert sich natuerlich wesentlich besser in die Qt Klassen. Und schneller beim compilen als die STL Header ist sie allemal.
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.
Nein. QTL und STL haben erstmal nichts miteinander zu tun. Allerdings ueberschneidet sich haeufig die Funktionalitaet etwas.
STL ist IMHO nicht "Pflicht", aber jeder gute Kompiler hat die Template Library.
Wenn der Compiler behauptet den ISO C++ Standard zu implementieren, dann ist die STL Pflicht. Sie ist Teil des Standards. D.h. alle aktuellen Compiler haben die STL.
Ich nehme immer die orig. STL..., damit bin ich einfach besser bedient.
Kommt auf die Definition von besser an ;-) Ciao, Micha.
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
participants (4)
-
Andre Heine
-
Kjell Morgenstern
-
Michael Matz
-
Stefan Hundhammer