array's ohne schleife "refreshen" ?



  • geht das und wenn ja wie?

    char *TheArray[5] = {"234","64564","66746","45645","89897"};

    nun möchte ich das alle array-einträge "" sind aber eben ohne den einsatz einer schleife.



  • Warum sollte man dafür keine Schleife nehmen wollen? *Kopf kratz*

    Aber außer...

    TheArray[0] = TheArray[1] = TheArray[2] = TheArray[3] = TheArray[4] = "";
    

    ...fällt mir nur ein, std::fill(TheArray, TheArray + 5, "") zu verwenden und ganz fest dran zu glauben, dass das intern keine Schleife enthält. Vielleicht wird's ja auf ein memset runteroptimiert und das ist dann nur noch auf der alleruntersten Ebene eine Schleife.



  • TheArray[0] = TheArray[1] = TheArray[2] = TheArray[3] = TheArray[4] = "";

    Ich denke, das sollte man bei char Arrays eher nicht machen! Bei dem std::fill wär ich auch unsicher, das sind doch eigentlich Stringliterale, die man gar nicht ändern darf, oder?



  • Da werden doch gar keine Stringliterale verändert.


Anmelden zum Antworten