如何在c++中使用指针赋值字符串向量的向量
How do I assign vector of vectors of strings using pointers to multiple vectors in C++?
我需要帮助来弄清楚代码位。我不确定如何填充向量>使用指针到字符串的多个向量。
请只在包含//HELP NEEDED HERE的行中提出建议
#include <iostream>
#include <string>
#include <vector>
using namespace std;
vector<string>* pointerReturner (string str1, string str2, string str3)
{
vector<string> *vList = new vector<string>();
vList->push_back(str1);
vList->push_back(str2);
vList->push_back(str3);
return vList;
}
int main(int argc, char* argv[]) {
vector<string> *vMakeList1;
vMakeList1 = pointerReturner ("1","8-20-2011","Ford");
vector<string> *vMakeList2;
vMakeList2 = pointerReturner ("2","8-20-2011","Honda");
vector<string> *vMakeList3;
vMakeList3 = pointerReturner ("3","8-20-2011","Toyota");
vector<vector<string>> *MakeList;
//HELP NEEDED HERE
delete vMakeList1, vMakeList2, vMakeList3;
vector<vector<string> >::iterator i = MakeList->begin();
for( ; i != MakeList->end(); ++i)
{
vector<string>::iterator pos = (*i).begin();
for ( ; pos!=(*i).end(); ++pos)
cout << *pos << endl;
}
cin.get();
return 0;
}
结果是填充了相关数据的vector<vector<string>>
。
MakeList = new vector<vector<string> > ();
MakeList->push_back(*vMakeList1);
MakeList->push_back(*vMakeList2);
MakeList->push_back(*vMakeList3);
不能。你需要一个vector<vector<string>*>* MakeList
。还有,太多的指针和new
蝙蝠侠
vector<vector<string>> *MakeList = new vector<vector<string>>();
MakeList->push_back(*vMakeList1);
MakeList->push_back(*vMakeList2);
MakeList->push_back(*vMakeList3);
似乎可以完成这项工作。
这不是做事的方式,但你似乎已经意识到这一点。
相关文章:
- 函数向量_指针有不同的原型,我可以构建一个吗
- 有没有一种"cleaner"的方法可以在指向基的指针向量中找到派生类的第一个实例?
- 使用向量类的c++指针
- 如何使用C++初始化向量;脚本化值不是数组、指针或矢量错误
- 如何更改唯一指针向量的可见性
- C++ 独特指针练习的向量
- C 中的向量指针的清晰图
- 当向量位于内部类中时,如何删除指向对象的向量指针
- std::向量指针
- 指向结构体的向量指针错误
- 删除指向指针的向量指针时出错
- 映射不同类型的向量指针
- 在c++中传递向量指针
- 虚拟类的向量:指针是干净的方法吗
- 如何从另一个向量/对象集构造新的向量/指针集
- 模型视图控制器- c++向量指针,太多的传递
- 为什么向量指针占用这么多内存?
- 删除条目向量指针的静态映射c++
- 复向量指针
- c++数组向量指针的初始化