【发布时间】:2014-12-26 20:51:55
【问题描述】:
我正在寻找一种在 C++ 中声明 5 维数组的优雅方式。
每个嵌套向量都有已知的大小,所以我开始做:
std::vector<std::vector<std::vector<std::vector<double>>>> myDblVec;
然后假设我知道所有尺寸:
myDblVec.resize(dim1);
for (int d1 = 0; d1 != dim1; d1++) {
myDblVec[d1].resize[dim2];
for (int d2 = 0; d2 != dim2; d2++) {
myDblVec[d1][d2].resize(dim3)
for (int d3 = 0; d3 != dim3; d3++) {
myDblVec[d1][d2][d3].resize(dim4);
}
}
}
我正在寻找一个 1-liner 或不那么“重”的东西来声明这个数组。
【问题讨论】:
-
我为 n 维数组创建了一个自定义类,该类以每个子数组的已知大小进行初始化。 stackoverflow.com/questions/26665096/…
-
a) 数组有固定大小吗? b) 你只有少量数据吗?我问这个是因为一个向量中的一个向量在一个......只是感觉......好吧,错了。
-
a) 不,但测试是的 b) 数据代表图像,因此可能非常庞大。数组大小会随着图像分辨率的改变而改变。
标签: c++ vector multidimensional-array