#include <iostream> #include <vector> #include <list> #include <map> using namespace std; void test_map(); struct Person{ string name; int age; }; int main() { vector<Person> vs; //list<Person> vs; Person a, b; a.name = "xiaoa"; a.age = 7; b.name = "xiaob"; b.age = 9; vs.push_back(a); vs.push_back(b); vector<Person>::iterator it; for(it=vs.begin(); it!=vs.end(); it++) { cout << (*it).name << " " << (*it).age << endl; cout << it->name << " " << it->age <<endl; } cout << "#########################" << endl; typedef vector<Person>::iterator PI; for(PI i=vs.begin(); i!=vs.end(); i++) { cout << (*i).name << " " << (*i).age << endl; cout << i->name << " " << i->age <<endl; } cout << "#########################" << endl; test_map(); return 0; } void test_map() { map<string, Person> records; Person a, b; a.name = "xiaoa"; a.age = 7; b.name = "xiaob"; b.age = 9; records.insert(pair<string, Person>(a.name, a)); records.insert(pair<string, Person>(b.name, a)); cout << "#########################" << endl; map<string, Person>::iterator rec_iter; for(rec_iter=records.begin(); rec_iter!=records.end(); rec_iter++) { cout << rec_iter->first << "[" << rec_iter->second.name << rec_iter->second.age << "]" << endl; } }