【问题标题】:2D Vectors push_back2D 向量 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。这是为什么呢?

【问题讨论】:

    标签: c++ arrays c++11 visual-c++


    【解决方案1】:

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

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

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

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

    例如

    array.push_back(vector<int>{3});
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-28
      • 1970-01-01
      • 2020-11-20
      • 2017-03-24
      • 1970-01-01
      • 2021-10-29
      相关资源
      最近更新 更多