Home C&C++函数库 c++ 语法 程序源码 Linux C库

std::

multimap::key_comp

公众成员函数  <map>
key_compare key_comp() const;

返回键比较对象

返回容器用来比较键值的比较对象的副本。

认情况下,这是一个less对象,它返回的值与 operator< 相同。

此对象确定容器中元素的顺序:它是一个函数指针或函数对象,接受两个与容器元素键类型相同的参数, 如果第一个参数在其定义的严格弱顺序中位于第二个参数之前,则返回true,否则返回false

如果key_comp反射性返回false(即,无论元素作为参数传递的顺序如何),则认为集合的两个元素是等价的。


☲  参数


none

☉  返回值



比较对象。

成员类型key_compare是与容器关联的比较对象的类型,在multimap中定义为它的第三个模板形参(Compare)的别名。

☣  示例



// multimap::key_comp
#include <iostream>
#include <map>

int main ()
{
  std::multimap<char,int> mymultimap;

  std::multimap<char,int>::key_compare mycomp = mymultimap.key_comp();

  mymultimap.insert (std::make_pair('a',100));
  mymultimap.insert (std::make_pair('b',200));
  mymultimap.insert (std::make_pair('b',211));
  mymultimap.insert (std::make_pair('c',300));

  std::cout << "mymultimap contains:\n";

  char highest = mymultimap.rbegin()->first;     // key value of last element

  std::multimap<char,int>::iterator it = mymultimap.begin();
  do {
    std::cout << (*it).first << " => " << (*it).second << '\n';
  } while ( mycomp((*it++).first, highest) );

  std::cout << '\n';

  return 0;
}

输出:
mymultimap contains:
a => 100
b => 200
b => 211
c => 300

✥ 复杂度



常量

☣ 迭代器的有效性



不变.

⇄ 数据竞争


容器被访问。
不访问包含的元素:并发访问或修改它们是安全的。

☂ 异常安全性



强保证:如果抛出异常,容器中不会有任何变化。

🍄  另请参阅



multimap::value_comp 返回比较对象(公众成员函数)
multimap::find 获取元素迭代器(公众成员函数)
multimap::count 具有特定值的元素数量(公众成员函数)
multimap::lower_bound 返回迭代器下界(公众成员函数)
multimap::upper_bound 返回迭代器上界(公众成员函数)

联系我们 免责声明 关于CandCplus 网站地图