C++ STL中unordered_map的key_eq()函数
unordered_map::key_eq()是C++ STL中内置的函数,根据比较返回布尔值。它取决于unordered_map容器使用的key equivalence比较谓词。key equivalence比较是一个谓词,它接受两个参数并返回一个布尔值,指示它们是否被视为等效的。如果相等,则返回true,否则返回false。它在构造容器时被采用,类似于比较中使用的(==)运算符。
语法
unordered_map_name.key_eq()(args1, args2)
参数:该函数接受两个必需的参数args1和args2,其间进行比较。数据类型与unordered_map相同。
返回值:函数返回一个布尔值。
下面的程序说明了unordered_map::key_eq()函数。
例1:
// CPP program to illustrate the
// unordered_map::key_eq() function
#include
using namespace std;
int main()
{
//声明unordered_map
unordered_map sample;
//检查细节
bool answer=sample.key_eq()("GEEKS","geeks");
//检查两者是否相同
if(answer)
cout<<"容器中的GEEKS和geeks被视为相同\n";
else
cout<<"容器中的GEEKS和geeks被视为不同\n";
return 0;
}
输出:容器中的GEEKS和geeks被视为不同
例2:
// CPP program to illustrate the
// unordered_map::key_eq() function
#include
using namespace std;
int main()
{
unordered_map sample;
bool answer=sample.key_eq()(100,200);
//检查
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被视为相同