C++中的静态数组和动态数组有什么区别?
我必须为我的班做一个任务,它说不要使用静态数组,只使用动态数组.我看过这本书和网上,但我似乎并不理解.
我认为静态是在编译时创建的,并且在运行时是动态的,但我可能会误以为内存分配.
你能解释一下C++中静态数组和动态数组之间的区别吗?
我有几个与数组相关的问题.我已经研究过,数组大小必须是常量的,声明/编译器必须知道它的值.但是使用GNU GCC编译器(C++ 11标准过滤器),我能够使用变量作为数组大小完美地编译和运行程序,同时动态声明所述数组(使用new)
int num;
cout << "How big an array? ";
cin >> num;
int *arr = new int [num];
Run Code Online (Sandbox Code Playgroud)
问题1)这被认为是标准吗?我的教授是矛盾的.
Ques2)如果它是标准的,那么在创建之后是否可以扩展数组(或任何数组)的大小?
Ques3)同样,如果这个表达式是标准的,那么是否可以在函数中使用它 - 例如.使用函数创建这样的数组?(如果是这样,怎么样?)
(PS:嗨,我是新手,也是C++的新手)