在我读完数据后,我应该声明一个数组吗?

时间:2017-08-12 05:02:36

标签: c++ gcc variable-length-array

我最近发现这种声明适用于我的C ++编译器

int h, w;
cin>>h>>w;

int a[h + 1][w + 1], f[h + 1][w + 1];

我应该使用这种类型的声明来减轻空间复杂性,而不是在获取实际请求的大小之前声明数组吗?

1 个答案:

答案 0 :(得分:6)

这些是某些编译器支持的非标准扩展。不要指望他们。最好使用std::vector

int h, w;
cin >> h >> w;

std::vector<std::vector<int>> a{h + 1, std::vector<int>{w + 1}};
std::vector<std::vector<int>> f{h + 1, std::vector<int>{w + 1}};