C ++ STL中的multimap value_comp()函数

在本文中,我们将讨论C ++ STL中multimap::value_comp()函数的工作,语法和示例。

什么是C ++ STL中的Multimap?

多图是关联容器,类似于图容器。它还有助于按特定顺序存储由键值和映射值的组合形成的元素。在多图容器中,可以有多个与同一键关联的元素。始终在内部借助关联的键对数据进行排序。

什么是multimap::value_comp()?

multimap::value_comp()是C ++ STL中的内置函数,在<map>头文件中声明。value_comp()返回比较对象的副本,多图容器将其用于比较。默认情况下,此对象小于运算符的对象,该对象的作用类似于小于运算符。

它是函数指针或函数对象的一种,它在特定的multimap中对相同类型的两个值进行比较,如果容器中的第一个元素小于第二个元素,则返回true,否则返回false。

语法

multi_name.value_comp();

参数

此函数不接受任何参数。

返回值

此函数返回关联的多图容器的比较对象。

输入值

multimap<char, int> newmap;
newmap(make_pair(‘a’, 1));
newmap(make_pair(‘b’, 2));
newmap(make_pair(‘c’, 3));
multimap<int>::value_compare cmp = myset.value_comp();

输出结果

1
2
3

示例

#include <iostream>
#include <map>
using namespace std;
int main(){
   multimap<int, char> mul;
   //在给定键处插入元素
   mul.insert(make_pair(0, 'A'));
   mul.insert(make_pair(1, 'B'));
   mul.insert(make_pair(2, 'C'));
   mul.insert(make_pair(3, 'D'));
   pair<int, char> temp = *mul.rbegin();
   multimap<int, char>::iterator it = mul.begin();
   cout<<"Elements at given key is : "<<'\n';
   do {
      cout << (*it).first << " = " << (*it).second << '\n';
   }
   while (mul.value_comp()(*it++, temp));
      return 0;
}

输出结果

如果我们运行上面的代码,它将生成以下输出-

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