これは「どのように機能するか」という質問です。私の理解に基づいて、一定数の要素(int intarr [5])で非動的配列を初期化する必要があります。そうしないと、配列が他の何かに割り当てられる可能性のあるメモリブロックに上書きされます。
では、要素なしで文字列配列 (文字列 strArray[]) を初期化できるのはなぜでしょうか?
例:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s[] = {"hi", "there"};
cout << s[0] << s[1];
cin >> s[10]; //why is this ok?
cout << s[10];
return 0;
}