我有一些与数组相关的问题。我研究过数组大小在声明/编译器必须知道它的值时必须是常量。new
但是使用 GNU GCC 编译器(C++11 标准过滤器),当动态声明所述数组时(使用),我能够完美地编译和运行使用变量作为数组大小的程序
int num;
cout << "How big an array? ";
cin >> num;
int *arr = new int [num];
问题1)这被认为是标准吗?我的教授是矛盾的。
Ques2)如果是标准的,那么在这种情况下,是否可以在创建后扩展数组(或任何数组)的大小?
Ques3) 同样,如果这个表达式是标准的,那么是否可以在函数中使用它 - 例如。使用函数来创建这样的数组?(如果有,怎么做?)
(PS:嗨,我是新来的,而且还是 C++ 的新手)