multimap key_comp() 在 C++ STL 中


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

什么是 C++ STL 中的多重映射?

多重映射是关联容器,类似于映射容器。它还能方便地存储由键值和映射值组合形成的元素,并按特定顺序存放。在多重映射容器中,可以将多个元素与同一个键关联。这些数据通过其关联的键始终在内部进行排序。

什么是 multimap::key_comp()?

multimap::key_comp() 是 `` 标头文件中提供的一个函数。此函数返回键比较对象的一个副本。默认情况下,它是一个小于对象,其工作方式与小于运算符 `<` 相同。该对象检查多重映射容器中元素键的顺序。此函数采用两个参数,并检查其键,如果第一个元素较小且应排在第二个元素之前,则返回真;否则返回假。

语法

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();
   //inserting elements at given key
   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<<"Elements at given key is : "<<'\n';
   do {
      cout << it->first << " = " << it->second << '\n';
   }
   while (cmp((*it++).first, a));
      return 0;
}

输出

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

Elements at given key is :
0 = A
1 = B
2 = C
3 = D

更新于:2020 年 4 月 22 日

120 次浏览

开启您的职业生涯

完成课程获得认证

开始
广告
© . All rights reserved.