C++ STL 中的 multimap value_comp() 函数
在本文中,我们将讨论 C++ STL 中 multimap::value_comp() 函数的工作原理、语法和示例。
什么是 C++ STL 中的多重映射?
多重映射是有序关联容器,与映射容器类似。它还有助于以特定顺序存储由键值和映射值组合形成的元素。在一个多重映射中,可以有多个元素与同一个键关联。数据的内部排序始终借助于其关联键。
什么是 multimap::value_comp()?
multimap::value_comp() 是 C++ STL 中的一个内置函数,在 <map> 头文件中声明。value_comp() 返回比较对象的副本,它由多重映射容器用于比较。默认情况下,这个对象是小操作对象,它类似于小于操作。
它是一种函数指针或函数对象,在特定的多重映射中比较两个相同类型的元素,如果第一个元素比容器中的第二个元素小,则返回 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;
//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'));
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
广告
数据结构
网络
关系型数据库
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP