C++ STL 中的 multimap key_comp()

c++server side programmingprogramming

本文将讨论 C++ STL 中 multimap::key_comp() 函数的工作原理、语法和示例。

C++ STL 中的 Multimap 是什么?

Multimap 是一种关联容器,类似于 Map 容器。它也能以特定顺序存储由键值对和映射值组合而成的元素。在 Multimap 容器中,同一个键可以关联多个元素。数据在内部始终根据其关联的键进行排序。

什么是 multimap::key_comp()?

multimap::key_comp() 函数位于 <map> 头文件中。此函数返回一个键比较对象的副本。默认情况下,这是一个小于对象,其作用与小于运算符 < 相同。该对象用于检查多映射容器中元素键的顺序。此函数接受两个参数并检查其键,如果第一个元素较小且应位于第二个元素之前,则返回 true,否则返回 false。

比较

Key_compare.key_comp();

参数

此函数不接受任何参数。

返回值

返回一个比较对象。

输入 

multimap<char, int> newmap;
multimap<char, int> :: key_compare cmp = newmap.key_comp();
newmap.insert(make_pair(‘A’, 1));
newmap.insert(make_pair(‘B’, 2));
newmap.insert(make_pair(‘C’, 3));

输出 

A= 1
B= 2
C= 3

示例

#include <iostream>
#include <map<
using namespace stgd;
int main(){
   multimap<int, char> mul;
   multimap<int, char>::key_compare cmp = mul.key_comp();
   //在给定键处插入元素
   mul.insert(make_pair(0, 'A'));
   mul.insert(make_pair(1, 'B'));
   mul.insert(make_pair(2, 'C'));
   mul.insert(make_pair(3, 'D'));
   int a = mul.rbegin()->first;
   multimap<int, char>::iterator it = mul.begin();
   cout<<"给定键的元素是: "<<'\n';
   do {
      cout << it->first << " = " << it->second << '\n';
   }
   while (cmp((*it++).first, a));
      return 0;
}

输出

如果我们运行上述代码,它将生成以下输出 −

给定键的元素是 :
0 = A
1 = B
2 = C
3 = D

相关文章