C++ Omitir tamaño de matriz


Omitir tamaño de matriz

No tiene que especificar el tamaño de la matriz. Pero si no lo hace, solo será tan grande como los elementos que se insertan en él:

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

Esto está completamente bien. Sin embargo, el problema surge si desea espacio adicional para elementos futuros. Luego tienes que sobrescribir los valores existentes:

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

Sin embargo, si especifica el tamaño, la matriz reservará el espacio adicional:

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

Ahora puede agregar un cuarto y quinto elemento sin sobrescribir los demás:

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

Omitir elementos en la declaración

También es posible declarar una matriz sin especificar los elementos en la declaración y agregarlos más tarde:

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