1. 程式人生 > >map容器插入資料之 map[] 和 insert 方式的分析

map容器插入資料之 map[] 和 insert 方式的分析

  STL中的map是一個key-value的資料結構 ,每一個key對應著一個值,而且key是唯一的,底層採用紅黑樹的資料結構實現。在使用map的過程中,有兩種方式進行資料的插入,第一種是使用下標的方式,也就是[],第二種是使用insert介面,它們主要的區別如下:
1. 下標的方式插入,如果原本key不存在則會先建立對應的記錄,然後再進行賦值;
2. insert方式插入,如果key不存在,則插入記錄,如果存在則什麼都不做。


map<int, char> m;
m[1] = 'a';                         // 首先初始化話m[1],然後在給m[1]賦值為'a'
m[1] = 'b'; // 修改m[1]的值為'b' m.insert<pair<int, char>(2, 'c')> // key=2不存在,則插入該記錄,m[2]的值為'c' m.insert<pair<int, char>(2, 'd')> // key=2存在,則什麼也不做,m[2]的值仍為'c'