1

以下のコードがあり、ベクトルに値を追加するのに苦労しています。最終的な目標は、リストを反復処理し、反復ごとにベクトルの 2 行に値を追加することですが、2 次元ベクトルに push_back する方法を理解するのに苦労しています。

    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;
    }
}

このベクトルに 1 つの列を追加するにはどうすればよいでしょうか? ベクトル[0][0] = 0 ベクトル[1][0] = 0?

4

1 に答える 1

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;
    }
  }
}
于 2016-11-10T19:35:08.013 に答える