我最近发现这种声明适用于我的C ++编译器
int h, w;
cin>>h>>w;
int a[h + 1][w + 1], f[h + 1][w + 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}};