map可以翻譯為對映,可以將任何基本型別對映到任何基本型別。
map需要對映前的型別(鍵key)和對映後的型別(值value)
所以括號裡填寫兩個型別,第乙個是key,第二個是value
mapmp;如果是int型對映到int型,那就是普通的int型陣列
如果是字串到整型的對映,必須使用string而不能使用char
字元的話,可以是char
mapmp;map的key和value也可以是stl容器,可以將乙個set容器對映到乙個字串;
map,string> mp;(1)通過下標訪問
(2)通過迭代器訪問
map::iterator it;typename1和typename2就是定義map時填寫的型別,這樣就得到了迭代器it
因為map的每一對對映都有兩個typename,這決定必須能只用乙個it 來同時訪問鍵和值。事實上,map可以使用it->first來訪問鍵,用it->second來訪問值。
find(key)返回鍵為key的對映的迭代器
(2)erase()有兩種用法
①刪除單個元素 mp.erase(it),it為要刪除的元素的迭代器
①(2)還可以用mp.erase(key),key為要刪除的對映的鍵。
②刪除乙個區間內的所有元素 mp.erase(first,last),注意還是左閉右開噢!
這是為什麼呢?不是應該還剩下c,按理說應該輸出 c 20 嗎?
再看,把刪除起始元素換一下。。。。換成c
(3)size() 用來獲取map中對映的對數
(4)clear()清空map中的所有元素
STL標準模板庫 map
一 map是stl的乙個關聯容器,它提供一對一 其中第乙個可以稱為關鍵字,每個關鍵字只能在map 現一次,第二個可能稱為該關鍵字的值 的資料處理能力,由於這個特性,它完成有可能在我們處理一對一資料的時候,在程式設計上提供快速通道。這裡說下map內部資料的組織,map內部自建一顆紅黑樹 一種非嚴格意義...
標準模板庫(STL)之 map 列傳
map 和 multimap 將 key value pair 鍵值對 當做元素進行管理,它們可根據 key 的排序規則 sorting criterion,也即在構造某一具體例項 map 例項時,可以模板引數的形式指定排序規則 自動為元素排序。multimap 允許重複元素,map 不允許。可像s...
C 標準模板庫(STL)之vector
vector即長度可變的陣列 標頭檔案宣告 include using namespace std 1.定義 vector int v vectorint age 兩個 之間需加空格,不然會被誤以為是移位操作 vector int vi 100 vector陣列,vi 0 vi 99 每乙個都是乙個...