standart Werte für Variablen und Pointer
-
Hi,
ich wollte mal fragen, ob es noch ne andere Möglichkeit gibt, eine Variable/Pointer bei der Initialisierung auf einen Startwert zu setzen als den üblichen Weg (Bsp: int a=0,*b=NULL;)Ich wollte nämlich bei der Initialisirung eines Pointerfeldes nicht das ganze Feld durchlaufen und alle Pointer auf einen Wert setzen.
-
du kannst den konstruktor aufrufen:
int a(0), *b(0);
wenn es ein herkömmliches c-array mit fixer größe ist, dann kannst du bei der definition initialisieren:
int* b[] = { 0, 0 };
ansonsten empfehle ich dir, einen stl-vektor zu verwenden, der initialisiert seine elemente automatisch mit ihrem standardwert:
std::vector<int*> b(5); // vektor mit 5 int-zeigern, zeigen auf 0
-
daishi schrieb:
Hi,
Ich wollte nämlich bei der Initialisirung eines Pointerfeldes nicht das ganze Feld durchlaufen und alle Pointer auf einen Wert setzen.Wenn du ein Array nimmst, geht auch std::fill.
-
int* feld[100] = {0};
setzt alles auf null. Funktioniert allerdings nur bei 0, nicht bei anderen Werten, da wuerde nur das erste Element besetzt werden.
-
Danke