C++ STL中的unordered_multimap key_eq() 函数
unordered_multimap::key_eq() 是C++ STL中的一种内置函数,它根据比较返回一个布尔值。它依赖于unordered_multimap容器使用的键等价比较谓词。键等价比较是一个谓词,它需要两个参数,并返回一个布尔值,表示它们是否被视为相等。如果它们是等价的,则返回true,否则返回false。它在容器构建时被采用,类似于比较中使用的(==)运算符。
语法 :
unordered_multimap_name.key_eq()(args1, args2)
参数 : 该函数接受两个强制参数args1和args2,比较它们之间的差异。数据类型与unordered_multimap相同。
返回值 : 该函数返回一个布尔值。
以下程序说明了unordered_multimap::key_eq()函数:
程序1 :
// CPP program to illustrate the
// unordered_multimap::key_eq() function
#include <iostream>
#include <string>
#include <unordered_map>
using namespace std;
int main()
{
unordered_multimap<string, string> sample;
bool answer = sample.key_eq()("GEEKS", "geeks");
// checks if both are same
if (answer)
cout << "GEEKS和geeks在容器中被视为相同\n";
else
cout << "GEEKS和geeks在容器中被视为不同\n";
return 0;
}
GEEKS和geeks在容器中被视为不同
程序2 :
// CPP program to illustrate the
// unordered_multimap::key_eq() function
#include <iostream>
#include <string>
#include <unordered_map>
using namespace std;
int main()
{
unordered_multimap<int, int> sample;
bool answer = sample.key_eq()(100, 200);
// check
if (answer)
cout << "100和200在容器中被视为相同\n";
else
cout << "100和200在容器中被视为不同\n";
answer = sample.key_eq()(100, 100);
if (answer)
cout << "100和100在容器中被视为相同\n";
else
cout << "100和100在容器中被视为不同\n";
return 0;
}
100和200在容器中被视为不同
100和100在容器中被视为相同