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. ]


Anmelden zum Antworten