Dynamische Array
-
Hallo,
ich habe da mal eine Verständnis Frage :
Ich kann ja ein dynamischea Array vom Typ int auf verschiedene Wege erzeugen.
1 : ( für mich Klassisch )
int* dya = new int[Anzahl]; ... delete[] dya;
2 : ( mit vektor )
std::vector<int> dyv; // leeren Vektor erzeugen // Anlegen for(int i = 0; i < Anzahl; i++) dyv.push_back(); // Anlegen der felder // Verabeiten ...... // Löschen istAnzahl = dyv.size(); for(int i = 0; i < istAnzahl; i++; dyv.pop_back();
Welche Variante ist die bessere für den Builder.
Welchen Vor- oder Nachteil gibt es zwischen Variante 1 und 2
-
Die Variante mit dem Vektor hat den Vorteil, dass du damit schon über Methoden und Iteratoren verfügst, die dir das Bearbeiten/Suchen etc wesentlich vereinfachen.
Falls du eine Alternative für den Builder suchst, kannst du auch TList bzw. TStringList verwenden.
-
Oder auch DynamicArray().
Das "klassische" Array ist ja nicht wirklich dynamisch, da sich die Zahl der Elemente nachträglich nicht mehr ändern lässt.
-
danke für eure
erstmal für eure Info's.
-
Doch nochmal eine Frage
ich möchte ein Array erstellen welche 2 Dimensionen hat.
zb.: Wert[100][5];
mit DynamicArray sollte es so sein.
DynamicArray<DynamicArray<int> > Wert; Wert.Length = 100; // Sezten der ebene 1 for (int i = 0; i< Wert.Length; i++) Wert[i].Length = 5; // Setzen der eben 2
muss ich ich die 2te eben mit der for schleife setzen oder kann
ich das auch direckt machen ?.Reicht das zum löschen des Array ?
Wert.Length = 0; // Sezten der ebene 1
[ Dieser Beitrag wurde am 20.02.2003 um 18:55 Uhr von MasterBratak editiert. ]