C++ Array-Größe auslassen


Array-Größe weglassen

Sie müssen die Größe des Arrays nicht angeben. Aber wenn Sie dies nicht tun, ist es nur so groß wie die Elemente, die darin eingefügt werden:

string cars[] = {"Volvo", "BMW", "Ford"}; // size of array is always 3

Das ist völlig in Ordnung. Das Problem tritt jedoch auf, wenn Sie zusätzlichen Platz für zukünftige Elemente wünschen. Dann müssen Sie die vorhandenen Werte überschreiben:

string cars[] = {"Volvo", "BMW", "Ford"};
string cars[] = {"Volvo", "BMW", "Ford", "Mazda", "Tesla"};

Wenn Sie jedoch die Größe angeben, reserviert das Array den zusätzlichen Speicherplatz:

string cars[5] = {"Volvo", "BMW", "Ford"}; // size of array is 5, even though it's only three elements inside it

Jetzt können Sie ein viertes und fünftes Element hinzufügen, ohne die anderen zu überschreiben:

cars[3] = "Mazda";
cars[4] = "Tesla";

Elemente bei Deklaration auslassen

Es ist auch möglich, ein Array zu deklarieren, ohne die Elemente bei der Deklaration anzugeben, und sie später hinzuzufügen:

string cars[5];
cars[0] = "Volvo";
cars[1] = "BMW";
...