C++ Reference: Standard C++ Library reference: Containers: map: map: key_comp

C++官网参考链接:https://cplusplus.com/reference/map/map/key_comp/

公有成员函数
<map>
std::map::key_comp
key_compare key_comp() const;
返回键比较对象
返回容器用于比较键的比较对象的副本。
map对象的比较对象在构造(construction)时设置。它的类型(成员key_compare)是map模板的第三个模板形参。默认情况下,这是一个less对象,返回与operator<相同的值。
这个对象决定了容器中元素的顺序:它是一个函数指针或函数对象,接受两个与元素键类型相同的实参,如果按照它定义的严格弱顺序,第一个实参被认为排在第二个实参之前,则返回true,否则返回false。
如果key_comp条件反射地返回false(即,无论键作为实参传递的顺序如何),则认为两个键是等价的。

形参 
没有形参。 

返回值
比较对象。
成员类型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;
}
输出:

复杂度
常量。

iterator的有效性
没有变化。

数据竞争
访问容器。
不访问包含的元素:同时访问或修改它们是安全的。

异常安全
强保证:如果抛出异常,则容器中不会有任何更改。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_40186813

你的能量无可限量。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值