Array mit 0 initialisieren
-
Warum geht dass nicht?
int test[5]();
Verwechsel ich da irgendwas? Geht dass anderst?
MfG
Stromberg
-
int test[5]={};
manche compiler müssen das erste elem haben, das sieht aber häßlich aus.
int test[5]={0};
-
Ich denke mal, dass du das mit dem verwechselst:
int* test = new int[5]();
-
Und wie kann ich alle 5 Felder mit 7 initialisieren? Also ich mein ohne nä Schleife oder sowas jetzt, dann wärs ja klar.
Gibts da auch eine Abkürzung?MfG
Stromberg
-
Stromberg schrieb:
Und wie kann ich alle 5 Felder mit 7 initialisieren? Also ich mein ohne nä Schleife oder sowas jetzt, dann wärs ja klar.
Gibts da auch eine Abkürzung?MfG
StrombergNein. Du kannst z.B std::fill oder auch boost::assign nehmen, aber schlussendlich ist es immer irgendwie mit einer Schleife gelöst.
-
oder einfach
int test[5] = {7, 7, 7, 7, 7};
Mit nem größeren Array wirds aber irgendwann recht aufwändig
-
Da könnte man vielleicht ein wenig Präprozessormagie anwenden...
-
wird das nicht erst im kommenden standard kommen?
dass man arrays direkt initialisieren kann?
-
Skym0sh0 schrieb:
wird das nicht erst im kommenden standard kommen?
dass man arrays direkt initialisieren kann?Du meinst, z.B. 100 Elemente mit dem gleichen Wert? Nicht dass ich wüsste. Eventuell wird jedoch der Array-Wrapper
std::tr1::array
erweitert, sodass er Konstruktoren hat - das fände ich nicht schlecht...Was aber kommen wird, sind Initialisierungslisten für Container (
std::initializer_list
).