TStringList - wie Array erstellen u löschen?



  • Hallo,

    //Eine TStringList wird ja normalerweise so estellt:
    TStringList *StrList = new TStringList; // Liste deklarieren
    
    //und so wieder freigegeben:
    delete StrList;
    

    Wie mach ich das wenn ich ein ganzes Array von StringLists benötige? Ich versuchs 'mal, bin mir nicht sicher, ob das so stimmt? 😕

    int Anzahl = 10;
    TStringList *StrListArray = new TStringList[Anzahl];
    

    und wie jetzt weiter?
    Muß ich jetzt jedes Element d Arrays wieder mit new erzeugen?

    for (int i=0; i<Anzahl; i++) StrListArray[i] = new TStringList;
    

    bzw. so freigeben?

    for (int i=0; i<Anzahl; i++)  delete StrListArray[i];
    delete []StrListArray;
    

    Ich hab' mich auch schon im C++-Forum umgesehen. Da ist es mir zu theoretisch 😃



  • Hallo

    Ja die Syntax ist soweit richtig.
    allerdings würde ich empfehlen lieber std::vector als rohe dynamische C-Arrays zu nehmen. Und wenn du nicht unbedingt die Funktionen von TStringList brauchst dann nimm auch anstelle der TStringList std::vector.

    bis bald
    akari



  • Booah, das ist ja 'ne Turbo-Antwort. 😮 👍

    Vielen Dank @akari,
    habe schon öfters gesehen, dass Du Sachen mit "std::vector" empfiehlst. Bislang habe ich mich immer davor gedrückt mich dort einzuarbeiten. Werd's 'mal in Angriff nehmen.


Anmelden zum Antworten