2D 向量 push_back

Posted

技术标签:

【中文标题】2D 向量 push_back【英文标题】:2D Vectors push_back 【发布时间】:2021-06-23 23:41:15 【问题描述】:

我正在尝试将数字 push_back 转换为由 1 行和 1 列组成的二维向量。

    vector< vector <int>>array;
    array.push_back(vector<int>(3)); 
    array[0].push_back(2);
    cout << array[0][0] << endl;

我预计这会返回 3,但它会返回 0。这是为什么呢?

【问题讨论】:

【参考方案1】:

vector&lt;int&gt;(3) 创建一个 vector,其中包含 3 个值为 0 的元素。

    使用默认插入的计数 T 实例构造容器。不制作副本。

如果您想要一个包含 1 个值为 3 的元素的 vector,您可以更改为 vector&lt;int&gt;3

    使用初始化列表 init 的内容构造容器。

例如

array.push_back(vector<int>3);

【讨论】:

以上是关于2D 向量 push_back的主要内容,如果未能解决你的问题,请参考以下文章

为啥不能在 2D 向量中 push_back? C++

将 1D 向量作为行推入 2D 向量数组

将迭代器解引用到 2D 向量并将其值分配给另一个 2D 向量

.push_back 如何在 C++ 中工作?

用户将元素输入到二维向量c++中

在展开期间将向量成员推入向量:vector.push_back(vector[0])