Zeiger Array auf NULL setzen



  • Abend,
    ich habe ein Array:

    Foo* a[5];

    dass ich so initialisiere:

    for(int i=0; i < 5; i++)
    a[i] = NULL;

    Geht das irgendwie auch kürzer? (also alle Elemente auf NULL setzen)

    Danke!



  • Foo* a[5] = { };
    

    Bei einer Array-Initialisierung werden alle nicht erwähnten Elemente mit einer in den Zieltyp konvertierten 0 vorbelegt.

    EDIT:
    Ich vergaß, dass in C++ die Liste leer sein darf. In ANSI C muss mindestens ein Element aufgeführt sein.



  • kommt drauf an, was Du unter 'kürzer' verstehst. Wäre das kürzer?

    fill_n( a, a + sizeof(a)/sizeof(*a), 0 );
    

    .. erfordert ein #include <algorithm>

    Gruß
    Werner


Log in to reply