2次元文字列ベクトル(つまりベクトル内のベクトル)の理解を深めようとしており、数時間の苦労を経て、外側ベクトル。C++ - 2次元文字列ベクトルの外側ベクトルのサイズを増やす
最初の内部要素{"ABC"、 "Abacus"、 "Abacus Football Club"、 "001"}に次の値を追加することから始めます。
もう1つの外側要素を追加し、最初の値として「BCD」を追加したいと思います。多くの失敗した試みの後、私は外側のベクトルのサイズを増やすことができません。私は私が持っている "最も近い"と感じる以下を提示する。コンパイルしようとすると
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main()
{
vector< vector<string> > vecTeams(1, vector<string>(4));
vecTeams[0][0] = "ABC";
vecTeams[0][1] = "Abacus";
vecTeams[0][2] = "Abacus Football Club";
vecTeams[0][3] = "001";
cout << vecTeams[0][1] << endl;
vecTeams.push_back(1);
vecTeams[1][0] = "BCD";
cout << vecTeams[1][0] << endl;
return 0;
}
それが好きではない:
vecTeams.push_back(1);
それは私が誤解していますし、どのように私はベクトルのサイズを増やすため、データを追加し続けることができることは何ですか?
多くのおかげで、
ホセ・
ベクトルのベクトルを考えてみましょう。だからあなたは 'push_back()'を使っていくつかの要素で内側のベクトルを塗りつぶしてから、 'push_back'ではなく外側のベクトル –
に' push_back(inner vector) 'を全体として' resize'を使うことをお勧めします。 – Spencer
新しいベクトルのコンストラクタに1を転送し、サイズ1の内部ベクトルを作成するつもりならば、vecTeams.emplace_back(1);でそれを行うことができます。 –