我正在尝试了解二维字符串 vector (即 vector 内的 vector ),经过几个小时的努力,我似乎无法增加外部 vector 的大小。
我首先将以下值添加到第一个内部元素 {"ABC", "Abacus", "Abacus Football Club", "001"}。
然后我想添加另一个外部元素并添加“BCD”作为第一个值。经过多次失败的尝试后,我无法增加外部 vector 的大小。我在下面介绍了我认为是“最接近”的内容。
#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);
我有什么误解,如何增加 vector 的大小,从而继续添加数据?
非常感谢,
何塞
最佳答案
自 vecTeams
是一个包含 std::vector<std::string>
的容器s,那么,从逻辑上讲,这就是您需要添加的内容:
vecTeams.push_back(std::vector<std::string>());
push_back()
的参数是要添加到容器末尾的新值,而不是要添加到容器的新值的数量。由于容器包含 std::vector<std::string>
s,你必须构建一个新的,然后将其推回。
您还可以使用resize()
完成同样的事情:
vecTeams.resize(2);
现在,容器中有两个元素。
关于C++ - 增加二维字符串 vector 中外部 vector 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36877617/