STL系列:关联容器的操作
生活随笔
收集整理的這篇文章主要介紹了
STL系列:关联容器的操作
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在C++ 中定義了幾種類型用來表示容器關鍵字和值的類型。
key_type mapped_type value_type對于set,由于保存的值就是關鍵字,所以,key_type和value_type是一樣的。set的迭代器是const的!
對于set,find調用返回的是一個迭代器,如果我們所給定的關鍵字在set中的時候,迭代器就指向該關鍵字,否則,find返回尾后迭代器。
在一個map中,元素是鍵值對,即每個元素就是一個pair對象。值得注意的是,key_type是關鍵字類型,value_type是pair類型,
mapped_type才是關鍵字關聯的值的類型!
map<int,string>::key_type v //int map<int,string>::value_type v1 //pair<int,string> map<int,string>::mapped_type v2 //stringset<string>::key_type v3 //string set<string>::value_type v4 //string關聯容器的查找
對于有序關聯容器 map set
map:? 下標或者find
map<string,int>mapp; mapp["one"] = 1; cout<<mapp["one"]<<endl;set:
set和map一樣,find調用返回的是一個迭代器,如果我們所給定的關鍵字在set/map中的時候,迭代器就指向該關鍵字,否則,find返回尾后迭代器。
if(mapp.find("one") == mapp.end())cout<<"one is not found !"<<endl;multimap或者multiset
調用find 返回的是該關鍵字指向的第一個元素(一個關鍵字可能對應于很多的元素值),可以遍歷這些元素值,全部打印輸出。
multimap<string,string>authors; /*導入數據*/ string search_item("yanghang"); auto entries = authors.count(search_item); auto iter = authors.find(search_item); while(entries) {cout<<iter->second<<endl;++iter;--entries; }?
總結
以上是生活随笔為你收集整理的STL系列:关联容器的操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: STL系列:map和unordered_
- 下一篇: 3.程序的局部性原理