Dav*_*ave 2 c++ arrays memory-management
从什么时候开始这种语法有效?(使用g ++ 4.6.3工作)我应该搜索什么来查找有关此内容的更多信息(我习惯于新建/删除)?
#include <iostream>
int main(){
size_t sz;
std::cout<<"number?\n";
std::cin>>sz;
// This line
float dynamic_arr[sz];
//output the (uninitialized) value just to use the array.
std::cout<<dynamic_arr[0]<<std::endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
变量长度数组(VLA)不是标准C++,它们是编译器扩展.如果您希望代码可移植,则不应使用它.
如果使用-Wvla -Werror标志进行编译,或者-Werror=vla,您的代码将产生错误
错误:使用可变长度数组'dynamic_arr'[-Werror = vla]
| 归档时间: |
|
| 查看次数: |
1158 次 |
| 最近记录: |