【发布时间】:2013-02-06 00:49:05
【问题描述】:
这种有效的语法是从什么时候开始的? (使用 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;
}
【问题讨论】:
-
查找“变长数组”。
-
我在想一个原因
std::vector<float> dynamic_arr(sz);会不为你工作,但它不会来找我。好吧,对于sz == 0,我想你会被搞砸的,但你的代码也会是VLA,所以..是的。什么都没有。 -
我正在查看的代码在数组上使用
__attribute__(aligned(32))来针对 IPP 库进行优化;因此作者更喜欢固定大小的数组。
标签: c++ arrays memory-management