Initialisierungsliste bei Arrays
-
Das war ja nicht die Frage... das können mal andere austüfteln...
Ich schätze ich hab in letzter Zeit zu viel Java programmiert, so daß ich mir darüber keine Gedanken gemacht hab.
Kann nicht mal jemand 'nen Garbage Collector für C++ programmieren?!?Edit :
Wie wär's so :... delete feld[0]; delete feld[1]; delete feld[2]; ...
-
FrodoSix schrieb:
Wie wär's so :
wie waere es ohne new?
ich sehe keinen grund hier den heap zu verwenden.
-
Und wie genau sonst (ich meine Code mäßig). Klar, man könnte auch alle Objekte vorher einzeln erzeugen und dann ins Array kopieren, aber das find ich umständlicher, zumal Du dann alle Objekte 2 mal hast (einmal als einzelnes Objekt und einmal im Array). Du müßtest dann auch irgendwie alle einzelnen Objekte "verschwinden lassen".
Zudem soll ja gerade das verhindert werden... die Objekte sollen beim Erzeugen des Arrays erzeugt und initialisiert werden.Oder hast Du noch 'ne ganz anderere Idee?
-
X feld[5] = {X(3), X(5), X(7), X(9), X(10)};
was spricht da dagegen?
-
Na gut, überredet :p
Wieso einfach, wenn's auch kompliziert geht
-
Wie wär's so :
delete feld[0]; delete feld[1]; delete feld[2];
Vielleicht ein Fall für 'ne Schleife.
-
geht delete[] feld; nicht ?
-
deii schrieb:
geht delete[] feld; nicht ?
delete[] löscht ein feld das mit new() angelegt wurde. In diesem Fall wurden aber die einzelnen Elemente des Feldes mit new angelegt und nicht das Feld selber.
-
Geht die Init-Liste eigentlich auch mit vector<X>? Beispiel?
-
Erhard Henkes schrieb:
Geht die Init-Liste eigentlich auch mit vector<X>?
Nee, normalerweise macht man etwas wie
T const dummy[] = { a, b, c, d, e, f }; vector<T> v(dummy, dummy + sizeof dummy/sizeof *dummy;);