【问题标题】:2D vector push_back二维向量 push_back
【发布时间】:2017-03-24 22:43:42
【问题描述】:

我有下面的代码,我正在努力为向量添加值。最终目标是遍历一个列表,并为每次迭代添加一个值到向量的 2 行,但我正在努力理解如何将 push_back 推回到 2d 向量。

    std::vector<std::vector<int> >nns;
int i = 5;
nns.push_back(i, i);
for(int i = 0; i <nns.size(); i++)
{
    for(int j = 0; j < nns[i].size(); j++)
    {
        std::cout << nns[i][j] << std::endl;
    }
}

如何向该向量添加一列? 所以 向量[0][0] = 0 向量[1][0] = 0?

【问题讨论】:

  • nns.push_back(std::vector&lt;int&gt; {i});?工作示例:here。除此之外,在标准 C++ 中并没有 2D Vector 这样的概念。你这里有向量的向量,你应该这样对待它。
  • 完美!非常感谢

标签: c++ vector 2d-vector


【解决方案1】:

Algirdas 提供的答案完美运行。

#include <iostream>
#include <vector>
using namespace std;

int main() {
  std::vector<std::vector<int> > nns;
  int i = 5;
  nns.push_back(std::vector<int>{i});
  for (int i = 0; i < nns.size(); i++) {
    for (int j = 0; j < nns[i].size(); j++) {
      std::cout << nns[i][j] << std::endl;
    }
  }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-04
    • 1970-01-01
    • 2013-03-28
    • 1970-01-01
    • 2021-06-23
    • 2020-11-20
    • 1970-01-01
    相关资源
    最近更新 更多