一、vector
vector相当于是一个可以存放一个任意数据类型的一个容器,通过迭代器可以对其进行相应的操作,如下:
1 vector<CString> arrTest; 2 arrTest.push_back(L"你"); 3 arrTest.push_back(L"我"); 4 arrTest.push_back(L"他"); 5 6 vector<CString>::iterator iterArr = arrTest.begin(); 7 for (; iterArr != arrTest.end(); ++iterArr) 8 { 9 cout << CW2A(*iterArr) << endl; 10 } 11 12 cout << CW2A(arrTest.at(1)) << endl; 13 14 cout << endl;
输出:
你
我
他
我
二、map
map其实和vector很像,就是把由一个参数变为了两个参数,参考代码如下:
map<CString, CString> mapTest; mapTest[L"哈哈"] = L"呵呵"; mapTest[L"学生"] = L"老师"; mapTest[L"职工"] = L"领导"; map<CString, CString>::iterator iterMap = mapTest.begin(); for(; iterMap != mapTest.end(); ++iterMap) cout << CW2A(iterMap->first) << " " << CW2A(iterMap->second) << endl; iterMap = mapTest.find(L"学生"); if(iterMap != mapTest.end()) { cout << CW2A(iterMap->first) << " " << CW2A(iterMap->second) << endl; } cout << endl;
输出:
哈哈 呵呵
学生 老师
职工 领导
学生 老师
三、set
set就是一个集合,和我们学过的集合类似,这个集合默认是按顺序排列的,并且所有元素类型一致,并且不存在重复元素,实例代码如下:
void setExample() { set<int> setTest; setTest.insert(2); setTest.insert(3); setTest.insert(3); setTest.insert(1); set<int>::iterator iterset = setTest.begin(); for (; iterset != setTest.end(); ++iterset) { cout << *iterset << endl; } cout << *setTest.begin() << endl; cout << endl; }
结果:
1
2
3
1