C++ Omitir tamanho da matriz


Omitir tamanho da matriz

Você não precisa especificar o tamanho da matriz. Mas se você não fizer isso, ele será tão grande quanto os elementos que forem inseridos nele:

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

Isso é completamente bom. No entanto, o problema surge se você quiser espaço extra para elementos futuros. Então você tem que sobrescrever os valores existentes:

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

No entanto, se você especificar o tamanho, a matriz reservará o espaço extra:

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

Agora você pode adicionar um quarto e um quinto elemento sem substituir os outros:

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

Omitir Elementos na Declaração

Também é possível declarar um array sem especificar os elementos na declaração e adicioná-los posteriormente:

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