boost bimap使用詳解

2021-10-03 22:17:06 字數 631 閱讀 3792

1、特點:

(1)、雙向對映容器,類似於map(單向對映容器),而又不同於map;

(2)、bimap既可以通過key來進行搜尋,有可以通過value來進行搜尋;

(3)、乙個bimap相當於內部包含left和right兩個map型別的容器;

(4)、對於乙個bimap,其左檢視bimap.left相當於map,右檢視bimap相當於map;

(5)、由於其雙向對映性,其key和value都必須是唯一的、沒有重複的;

(6)、bimap不能使用和at操作元素;

(7)、左檢視插入,自動對映到右檢視。右檢視插入自動對映到左檢視。對兩個檢視進行遍歷,都會列印出全部元素;

(8)、左右兩個檢視的迭代器返回的都是常量,不能對其進行修改;

(9)、左右檢視插入後的元素是排好序的。

2、示例:插入、更改、刪除、遍歷、查詢......

#include #include #include int main()

{ boost::bimapbm;

//使用左檢視插入資料,自動對映到右檢視

bm.left.insert(std::make_pair(1, "111"));

bm.left.in

boost bimap 學習筆記

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!bimap是boost中很重要的乙個容器,可以進行雙向的查詢和替換,這樣彌補了如果map和multimap需要找到data所對應的鍵值。迴圈遍歷元素,才能找到相應的鍵值,再刪除,最後替換的不足。但是boost的模板源程式設計又有著先天的缺點,就是編...

boost bimap 學習筆記

bimap是boost中很重要的乙個容器,可以進行雙向的查詢和替換,這樣彌補了如果map和multimap需要找到data所對應的鍵值。迴圈遍歷元素,才能找到相應的鍵值,再刪除,最後替換的不足。但是boost的模板源程式設計又有著先天的缺點,就是編譯錯誤不容易找到,編譯時間有點長。但是如果長期使用b...

Regmon使用詳解

新近安裝foxmail 5.0正式版,卻發現只能收取而不能傳送郵件。經過一番檢查確定,網路正常,foxmail設定也正確。那麼究竟是 何方神聖 在暗中搗鬼呢?甭急,咱先請來個 福爾摩斯 regmon幫忙查出 真兇 regmon v6.12小檔案 軟體版本 6.12 軟體大小 82 kb 軟體性質 免...