nochmal doofe Frage zu den arrays



  • Kann die Größe eines Arrays zur Laufzeit vergrößert werden?

    ich müsste im Konstruktor ein array anlegen.
    Und jedes mal wenn die Methode aufgerufen wird, sollte das Array um Eins größer werden, ein neuer int-Zahl kommt dazu. Ähnlich wie pop_back ?

    Oder geht das nur mit Containern?



  • du kannst dir so einen container selbst schreiben
    oder speziell für die aufgabe kannst du ein grosses array nehmen und dir den aktuellen grössten index merken wenn was drauf gepusht wird

    aber zu deiner frage:
    (statische) arrays müssen mit einer konstanten grösse initialisiert werden, die sich nicht mehr ändert (ändern kann!)
    und auch dynamische arrays haben eine feste grösse, die halt allerdings erst später feststeht als bei den statischen

    du kann antürlich jedesmal beim push dir ein neues array erzeugen und die alten daten rüberkopieren und das alte löschen, ist aber nicht sehr flott



  • Du kannst auch std::vector verwenden oder aber std::tr1::array. C stellt für Arrays die mit malloc angelegt werden eine realloc Funktion. Siehe dafür in die "cstdlib".


Anmelden zum Antworten