一、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