侯捷C++ STL体系结构与内核分析:map/multimap的实现(红黑树的应用)

map/multimap的基本功能:
侯捷C++ STL体系结构与内核分析:map/multimap的实现(红黑树的应用)
底层实现:
通常我们使用者只要放前两个参数。注意const。
侯捷C++ STL体系结构与内核分析:map/multimap的实现(红黑树的应用)
其他编译平台:
select1st重载了(),叫做仿函数(函数对象)。传进去pair,传出first。
侯捷C++ STL体系结构与内核分析:map/multimap的实现(红黑树的应用)
一个栗子:
侯捷C++ STL体系结构与内核分析:map/multimap的实现(红黑树的应用)
map独特的operator[]
由key找data,找到就返回。如果没有就让该key对应一个默认的data值。
侯捷C++ STL体系结构与内核分析:map/multimap的实现(红黑树的应用)
又一个栗子。对比放入新元素,multimap要自己配pair,而map可以使用[]。但是[]要先搜索,然后insert,速度上比不了直接插入pair。
侯捷C++ STL体系结构与内核分析:map/multimap的实现(红黑树的应用)