据我所知,静态数组在编译时通常用于已知大小:
int arr[5];
虽然动态数组在编译时使用的大小未知,但在运行时知道为:
int size;
cin >> size;
int* arr = new int[size];
我想知道为什么有些c ++编译器接受这种语法而另一些c ++编译器却不接受gcc。 我认为这段代码不是c ++标准。
int size;
cin >> size;
int arr[size]; //use static form to dynamic allocation.