Array mit variabler Größe.
-
(ich weiß, das brauch ich danach nie wieder 8))
Das würde ich mal nicht zu laut sagen. :p
Oder muss ich immer ein zweites Array erstellen, das alte in das zweite Array kopieren, das alte löschen, neu erstellen und zurückkopieren?
Kurze Antwort : Ja, musst du. std::vector macht das aber intern und gut versteckt in std::vector::resize.
Lange Antwort : In C (und daher in C++) gibt es die Funktion realloc. Diese Funktion versucht einen Speicherbereich der mit malloc angefordert wurde zu erweiterten. Ist aber nicht garantiert, dass es klappt. Wird in C++ aber eh nicht benutzt.
-
und was ist mit
new
-
steff3 schrieb:
und was ist mit
new

Panke schrieb:
Oder muss ich immer ein zweites Array erstellen, das alte in das zweite Array kopieren, das alte löschen, neu erstellen und zurückkopieren?
-
steff3 schrieb:
und was ist mit
new
Mit new kann man nur neuen Speicher anfordern, aber nicht wie mit realloc Speichererweitern.
-
int *Feld = new int[größe];Das hat mir bis jetzt immer gereicht.
Mit new kann man nur neuen Speicher anfordern, aber nicht wie mit realloc Speichererweitern.
Ja man kann einmal "nur" Speicher anfordern wie man ihn braucht.
-
steff3 schrieb:
int *Feld = new int[größe];Das hat mir bis jetzt immer gereicht.
Mit new kann man nur neuen Speicher anfordern, aber nicht wie mit realloc Speichererweitern.
Ja man kann einmal "nur" Speicher anfordern wie man ihn braucht.
Hast du den Ursprungspost überhaupt gelesen?

-
Array mit variabler Größe.
Das mit new ist ein array mit variabler größe

konnte ja nicht wissen das er zur laufzeit die größe dem inhalt anpassen wollte

-
steff3 schrieb:
Array mit variabler Größe.
Das mit new ist ein array mit variabler größe

konnte ja nicht wissen das er zur laufzeit die größe dem inhalt anpassen wollte

hehe... also doch nicht gelesen:
Panke schrieb:
Daher meine Frage:
Kann ich die Größe von Arrays ohne programmiertechnische Klimmzüge ändern?
Oder muss ich immer ein zweites Array erstellen, das alte in das zweite Array kopieren, das alte löschen, neu erstellen und zurückkopieren?
-
Coole eigene Klasse implementieren die sinnlos neue Objekte erzeugt und ne Menge Speicherlöcher hinterlässt

-
BloodLord schrieb:
Coole eigene Klasse implementieren die sinnlos neue Objekte erzeugt und ne Menge Speicherlöcher hinterlässt

Ich arbeite daran.
Panke