C++ не указывать размер массива
Пропустить размер массива
Вам не нужно указывать размер массива. Но если вы этого не сделаете, он будет таким же большим, как элементы, которые в него вставлены:
string cars[] = {"Volvo", "BMW", "Ford"}; //
size of array is always 3
Это совершенно нормально. Однако проблема возникает, если вам нужно дополнительное место для будущих элементов. Затем вам нужно перезаписать существующие значения:
string cars[] = {"Volvo", "BMW", "Ford"};
string cars[] = {"Volvo", "BMW", "Ford",
"Mazda", "Tesla"};
Однако, если вы укажете размер, массив зарезервирует дополнительное пространство:
string cars[5] = {"Volvo", "BMW", "Ford"}; //
size of array is 5, even though it's only three elements inside it
Теперь вы можете добавить четвертый и пятый элементы, не перезаписывая остальные:
cars[3] = "Mazda";
cars[4] = "Tesla";
Пропустить элементы в декларации
Также можно объявить массив без указания элементов при объявлении и добавить их позже:
string cars[5];
cars[0] = "Volvo";
cars[1] = "BMW";
...