如何重新调整多维向量的大小? 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)[重复]

c++ unordered_map 碰撞处理,调整大小和重新散列

在 C++ 中,如何获取指向向量的指针?

如何调整 2D C++ 向量的大小?

如何预留多维向量?