Am Montag, 10. März 2003 13:44 schrieb Bernhard Walle:
Vielleicht solltest Du mal schreiben was Du mit den Strings vor hast. Wird die Liste oft sequentiell durchlaufen, findet oft ein Indexzugriff statt usw. QStringList erbt von QValueList, es handelt sich hierbei um verkettete Listen (`doubly linked list'). Wenn Du oft einen String ueber einen Index ansprechen musst sind verkettete Listen weniger geeignet, da natuerlich die Liste linear durchlaufen werden muss. Wenn Du aber die Strings oft durchlaufen musst dann sind sie sehr gut geeignet, auch wenn's 1000 sind. Es kommt also nicht unbedingt auf die Anzahl sondern vielmehr auf die Art des Zugriffs an.
Also ich habe schon vor einiger Zeit einmal ein Vokabellernprogramm mit Delphi bzw. Kylix erstellt. Dieses möchte ich jetzt auch gerne als QT-Programm schreiben. Also die StringListen sollen z.B. alle englischen Vokabeln eines Kapitels speichern, von denen sie dann aus am Ende in eine Datei geschrieben werden. In dem Programm werden die Strings sortiert, durchgemischt oder halt auf einzelne zugegriffen (z.B. beim Bearbeiten). Das Sortieren oder Mischen kommt dabei häufiger zum Einsatz.
Bei einem Array hingegen kann direkt auf einen Index zugegriffen werden da ja nur sizeof(obj) * index gerechnet werden muss. Andererseits ist ein statisches Array von QString-Objekten natuerlich Platzverschwendung, es sei denn es sind immer genau 200 Stueck.
Ein statisches Array finde ich auch nicht gut, nur habe ich bis jetzt (z.B. in PAscal) halt keine andere Möglichkeit gewusst.
Es wuerde sich _vielleicht_ ein Array von Zeigern auf QStrings anbieten, wobei das allerdings auch nur dann empfehlenswert ist wenn die Zahl nie groesser als 200 wird. Ausserdem muss man aufpassen dass man nicht ueber die Arraygrenzen hinauslaeuft. Wenn es weniger sind ist es nicht ganz so schlimm da so ein Zeiger ja nur 4 Bytes belegt.
Es könnte schon passieren, dass die Zahl größer als 200 wird. Was soll ich verwenden? Den Code wieder umzuschreiben ist das kleinste Problem.
BTW: Die QT-Doku ist wirklich gut. :-)
Ok, ich seh's ein :-) Gruß Holger -- Große Männer streben keine Macht an, NEIN! die Macht wird ihnen aufgedrängt. -- Kahles