本文主要简易分析STL-SGI的map源码分析。
本文承接:
STL关联容器-红黑树:https://blog.csdn.net/haluoluo211/article/details/80877064
在map
中对于rb_tree
(源码分析)而言key
, value
不一样,key
用于rb_tree
排序,pair<key, value>
才是rb_tree
的节点,同样成员就一个rb_tree
足已表现整个map
:
template <typename Key, typename Value, class Compare = std::less<Key>>
class map{
// 用于re_tree排序
typedef Key key_type;
// rb_tree节点的value
typedef std::pair<key_type, value_type> value_type;
typedef Compare key_compare;
// 对于map而言,Key, Value类型不一样,一个排序,另一个节点实值
typedef rb_tree1<key_type, value_type, key_compare> rep_type;
// map的成员变量