#include1、vector嵌套vector#include #include #include using namespace std; class Person { public: Person(string name, int age) { m_name = name; m_age = age; } public: string m_name; int m_age; }; void test01()//往容器里边存储自定义数据类型 { vector v;//1、创建一个容器,数组 Person p1("张三", 20);//创建出来person类型的数据 Person p2("李四", 21); Person p3("王五", 22); Person p4("赵六", 23); v.push_back(p1);//往数组里边存person的数据 v.push_back(p2); v.push_back(p3); v.push_back(p4); for (vector ::iterator it = v.begin();it != v.end();it++)//通过迭代器访问数据 { cout << (*it).m_name << " " << (*it).m_age << endl; //小技巧:*it 就是vector 尖括号 里边的数据类型 cout << it->m_name << " " << it->m_age << endl; //it 就是一个指针,通过指针也可以访问 } } void test02()//往容器里边存储指针 { vector v;//1、创建一个容器,数组 Person p1("张三", 20);//创建出来person类型的数据 Person p2("李四", 21); Person p3("王五", 22); Person p4("赵六", 23); v.push_back(&p1);//往数组里边存person*的数据 v.push_back(&p2); v.push_back(&p3); v.push_back(&p4); for (vector ::iterator it = v.begin();it != v.end();it++)//通过迭代器访问数据 { cout << (*it)->m_name << " " << (*it)->m_age << endl; //小技巧:*it 就是vector 尖括号 里边的数据类型 } } int main() { //test01(); test02(); return 0; }
#include#include #include #include using namespace std; void test01() { vector > v;//创建一个容器嵌套容器,称之为大容器 //创建小容器,最后需要把小容器插入到大容器里边 vector v1; vector v2; vector v3; vector v4; //给小容器赋值 for (int i = 0;i < 5;i++) { v1.push_back(i + 1); v2.push_back(i + 2); v3.push_back(i + 3); v4.push_back(i + 4); } //往大容器里边存数据,即把小容器插入到大容器 v.push_back(v1); v.push_back(v2); v.push_back(v3); v.push_back(v4); for (vector >::iterator it = v.begin();it != v.end();it++)//通过迭代器访问数据 { //*it 代表的是vector ,又是一个容器,所以需要把小容器里边的数据遍历出来 //小技巧:*it 就是vector 尖括号 里边的数据类型 for (vector ::iterator vit = (*it).begin();vit != (*it).end();vit++) { cout << *vit <<" "; } cout << endl; } } int main() { test01(); return 0; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)