STL之map和multimap总结
map和multimap都是有序关联容器,所有元素都会根据元素的键值自动被排序,包含具有
唯一键的键值对。键使用比较函数Compare比较来进行排序。搜索,删除和插入操作具有
对数复杂性。map和multimap通常实现为红黑树。multimap相对map来说能够允许重复值的存在。
唯一键的键值对。键使用比较函数Compare比较来进行排序。搜索,删除和插入操作具有
对数复杂性。map和multimap通常实现为红黑树。multimap相对map来说能够允许重复值的存在。
1.构造、复制与析构
map c //默认构造函数;创建一个空map/multimap
map c(op) //创建一个空map/multimap,并以op原则作为排序准则
map c(c2) //复制构造函数;创建一个新的map/multimap作为c2的副本(所有元素都被复制)
map c = c2 //复制构造函数;创建一个新的map作为c2的副本(所有元素都被复制)
map c(rv) //移动构造函数;使用右值对象rv创建一个新map/multimap
map c = rv //移动构造函数;使用右值对象rv创建一个新map/multimap
map c(beg,end) //创建一个map/multimap,并使用beg到end范围内的值进行初始化
map c(beg,end,op) //创建一个map/multimap,并使用beg到end范围内以op原则排序后的值进行初始化
map c(initlist) //创建一个map/multimap,并使用初始化列表进行初始化
map c = initlist //创建一个map/multimap,并使用初始化列表进行初始化
c.~map() //销毁所有元素并释放内存
在这里map可能是如下的一种:</