map的特性是:所有元素都会根据元素的键值被自动排序,map的所有元素都是pair,同时拥有实值(value)和键值(key),pair的第一元素被视为键值,第二元素被视为实值,通常通过仿函数select提取出节点的键值进行比较,我们能修改节点的实值但不能修改其键值,对其他元素操作时,其之前和之后的迭代器也都不回失效。map使用rb-tree作为底层容器,rb-tree提供了所有map需要的操作,map使用RB_tree的 insert_unique 来插入元素
代码实现:https://github.com/inmail/mySTL/blob/master/mySTL/14stl_map.h