map使用下標 還是insert

2021-08-11 01:43:24 字數 361 閱讀 8646

記錄學習一下。

insert操作,如果該鍵值不存在,那麼就插入成功,如果存在,那麼就失敗  ,注意:它不會修改該鍵值對應的value值

操作,是先將該鍵值對應的value賦值成預設值,然後再賦值成給的值,如果鍵值已經存在,那麼它會修改該鍵值對應的value

所以,用的時候要注意了,如果希望新新增的值,要覆蓋之前存在的值,就要使用運算子, 當然,使用會增加開銷(它要先賦值預設值,再賦值對應值, 尤其對應於value是物件的時候,那麼開銷就更大了)

注意:  

std::maptestmap;

int d = testmap[2];      // 這樣的操作也會在testmap中增加乙個元素(2,0), 這裡要特別注意

map容器以及下標操作和insert操作

map中所有元素都是pair pair中的第乙個元素為key 鍵值 起到索引的作用,第二個元素為value 實值 所有元素都會根據原色的鍵值自動排序 本質 map屬於關聯式容器,優點 可以根據key值快速找到value值 和其他容器一樣 1.構造和賦值 2.大小和交換 size empty swap...

map下標操作

強烈推薦人工智慧學習 之前提到過有關map下標操作,但是今天這個更複雜一點了,寫下來學習一下。struct node int main map iterator it it maptest.find 2 find函式返回乙個迭代器 if maptest.end maptest.find 1 cout...

std map的insert和下標 訪問

在map中插入元素 改變map中的條目非常簡單,因為map類已經對操作符進行了過載 enummap 1 one enummap 2 two 這樣非常直觀,但存在乙個效能的問題。插入2時,先在enummap中查詢主鍵為2的項,沒發現,然後將乙個新的物件插入enummap,鍵是2,值是乙個空字串,插入完...