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


Anmelden zum Antworten