如何重新调整多维向量的大小? C++ [重复]
Posted
技术标签:
【中文标题】如何重新调整多维向量的大小? C++ [重复]【英文标题】:How to re-size a multidimensional vector? C++ [duplicate] 【发布时间】:2014-02-10 04:03:56 【问题描述】:如何将多维向量重新调整为 x 宽和 y 高? 如果我的矩阵是:
vector<vector<float> > matrix;
这行得通吗?
matrix.resize(x);
for (int i; i < x; i++)
matrix[x].resize(y);
【问题讨论】:
这取决于您调用的未定义行为的作用。它可以按照标准执行您想要的操作,也可以格式化您的硬盘。硬盘格式的可能性更大。 是的,但是当我检查尺寸时,它返回的数字似乎不正确 【参考方案1】:matrix.resize(x); // this will resize the outer vector to be of size x
for (int i = 0; i < x; i++)
matrix[x].resize(y); // this will attempt to access 1 passed the size you set.
我想你的意思是输入matrix[i]
。
但是,std::vector::resize
会调整外部和内部向量的大小,只要您确保循环正确。
Example
【讨论】:
还需要初始化i
。
@BenjaminLindley True - 很好(不过,在我的示例中我没有使用手写循环)。以上是关于如何重新调整多维向量的大小? C++ [重复]的主要内容,如果未能解决你的问题,请参考以下文章
将向量从 c++ dll 重新调整到另一个 c++ exe 时出现问题
重新调整javascript数组的尺寸(即1x6 => 2x3)[重复]