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

これで、他の要素を上書きせずに4番目と5番目の要素を追加できます。

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

宣言の要素を省略します

宣言時に要素を指定せずに配列を宣言し、後で追加することもできます。

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