std::
map::key_comp
公众成员函数 <map>
key_compare key_comp() const;
返回键比较对象
返回容器用来比较键值的比较对象的副本。
map对象的比较对象在构造时设置。它的类型(成员
key_compare)是
map模板的第三个模板参数,
默认情况下,这是一个
less对象,它返回的值与
operator< 相同。
此对象确定容器中元素的顺序:它是一个函数指针或函数对象,接受两个与容器元素键类型相同的参数,
如果第一个参数在其定义的严格弱顺序中位于第二个参数之前,则返回
true,否则返回
false。
如果
key_comp反射性返回
false(即,无论元素作为参数传递的顺序如何),则认为集合的两个元素是等价的。
☲ 参数
-
none
☉ 返回值
比较对象。
成员类型
key_compare是与容器关联的比较对象的类型,在
map中定义为它的第三个模板形参(Compare)的别名。
☣ 示例
// map::key_comp
#include <iostream>
#include <map>
int main ()
{
std::map<char,int> mymap;
std::map<char,int>::key_compare mycomp = mymap.key_comp();
mymap['a']=100;
mymap['b']=200;
mymap['c']=300;
std::cout << "mymap contains:\n";
char highest = mymap.rbegin()->first; // key value of last element
std::map<char,int>::iterator it = mymap.begin();
do {
std::cout << it->first << " => " << it->second << '\n';
} while ( mycomp((*it++).first, highest) );
std::cout << '\n';
return 0;
} |
输出:
mymap contains:
a => 100
b => 200
c => 300
✥ 复杂度
常量
☣ 迭代器的有效性
不变.
⇄ 数据竞争
容器被访问。
并发地访问集合的元素是安全的。
☂ 异常安全性
强保证:如果抛出异常,容器中不会有任何变化。
🍄 另请参阅
map::value_comp |
返回比较对象(公众成员函数) |
map::find |
获取元素迭代器(公众成员函数) |
map::count |
具有特定值的元素数量(公众成员函数) |
map::lower_bound |
返回迭代器下界(公众成员函数) |
map::upper_bound |
返回迭代器上界(公众成员函数) |