001
03.04.2004, 19:59 Uhr
Bruder Leif
dances with systems (Operator)
|
Moin!
Nachdem es um den BCB geht, hab ich den Thread mal annektiert. Die TList ist eine sehr allgemein gehaltene Liste, die Pointer speichert. Und zwar NUR Pointer, sonst nix. Wenn Du int's speichern willst, brauchst Du eine von TList abgeleitete Klasse. Für Strings gibts schon eine, nämlich die TStringList, aber wenn Du mit ints arbeiten willst, musst Du Dir schon Deine eigene schreiben. Ist aber kein großer Akt. Allgemein gilt bei den VCL-Klassen des C++Builder: Nur über Zeiger ansprechen, also z.B.
C++: |
TList* x = new TList(); ...bla... delete x;
|
Das liegt daran, dass die Klassenbibliothek des BCB in Delphi geschrieben ist, und das erlaubt nur die Instanziierung über den Heap. Technikgebrabbel, ich weiss, aber für Dich heisst das einfach, dass Du die Dinger IMMER über Zeiger ansprechen musst.
Wenn Du reines C++ schreiben willst, das auch mit anderen Compilern funktioniert (und das empfehl ich Dir), schau Dir die STL an. Ist beim C++Builder auch schon dabei und wesentlich einfacher zu verwenden. Z.B. die Klasse vector:
C++: |
#include <vector> using namespace std;
int main() { vector<int> x;
// Zahlen 1 bis 10 in der Liste speichern for(int i=1; i<=10; i++) x.push_back(i);
// kein delete o.ä. nötig }
|
Der STL-vector hat den Vorteil, dass Du ALLES speichern kannst, von Zeigern über int's bis zu Strings oder eigenen Objekten. Nur die Dokumentation ist IMO unter aller Sau. Google mal nach "STL tutorial" bzw. such hier im Forum, da findest Du einiges zum Thema. -- Mit 40 Fieber sitzt man nicht mehr vor dem PC. Man liegt im Bett. Mit dem Notebook. |