第11章 關聯容器
1. 使用map的簡單例子:
運行結果爲:
2. 初始化map和set:
3. set與multiset的區別:
4. 使用map和set時,其元素類型必須是定義了嚴格弱序的(即定義了<號比較的),如果元素類型沒有定義<號操作也可以通過外部函數來比較:
5. pair類型:pair是一個用來生成特定類型的模板. pair的默認構造函數對數據成員進行值初始化.
6. 遍歷map和set關聯容器:
7. 如何往set和map中添加指定元素:
注意:map中insert插入元素的返回值是一個pair對象.該pair對象的first成員是一個指向插入元素的迭代器,second成員是一個標誌是否插入成功的bool值.
8. 向multimap中添加元素:
9. 從map中刪除元素:
從multimap中刪除元素的方式與map一模一樣.
10. map的下標操作,如map[“a”]:
如果”a”在map中,該操作將返回”a”對應的值. 否則該操作將在map中插入關鍵字”a”且對值進行值初始化.
11. 在map或multimap中查找指定元素.
有下面5個成員函數可用:
c.find(k): 返回key==k的迭代器
c.count(k): 返回key==k的元素個數
c.lower_bound(k): 返回key>=k的第一個元素的迭代器
c.upper_bound(k): 返回key>k的第一個元素的迭代器
c.equal_range(k): 返回key==k的左閉合右開迭代器的pair對象,該pair對象包含兩個迭代器,首迭代器指向map中符合要求的第一個pair對象,second迭代器指向map中符合要求的最後一個pair對象的後一個位置。