C++ unordered_map::key_eq() 函数



C++ 函数 **std::unordered_map::key_eq()** 用于根据比较返回布尔值。如果发生等价关系,则返回 true;否则,返回 false。

键等价比较是一个谓词,它接受键类型的两个参数,并返回一个布尔值,指示它们是否被认为是等价的。默认谓词是 equal_to<key_type>,它返回的结果与对参数应用等于运算符 (==) 相同。

语法

以下是 std::unordered_map::key_eq() 函数的语法。

key_equal key_eq() const;

参数

此函数不接受任何参数。

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

返回值

如果发生等价关系,则此函数返回布尔值 true;否则,返回 false。

示例 1

让我们看一下下面的示例,我们将演示 key_eq() 函数的使用。

Open Compiler
#include <iostream> #include <string> #include <unordered_map> using namespace std; int main () { unordered_map<string,string> um; bool case_insensitive = um.key_eq()("jerry","JERRY"); cout << "mymap.key_eq() is "; cout << ( case_insensitive ? "case insensitive" : "case sensitive" ); cout << endl; return 0; }

输出

让我们编译并运行上述程序,这将产生以下结果:

mymap.key_eq() is case sensitive

示例 2

在下面的示例中,我们使用 key_eq() 函数来检查 unordered_map 的两个键是否相同。

Open Compiler
#include <iostream> #include <string> #include <unordered_map> using namespace std; int main () { unordered_map<string,string> um; bool equal = um.key_eq()("tutorialspoint","TUTORIALSPOAINT"); if(equal){ cout<<"both are similar\n"; } else{ cout<<"dissimilar\n"; } return 0; }

输出

以下是上述代码的输出:

dissimilar

示例 3

考虑下面的示例,我们创建一个接受整数值的 unordered_map,并应用 key_eq() 函数来检查 unordered_map 的两个键是否相同。

Open Compiler
#include <iostream> #include <string> #include <unordered_map> using namespace std; int main () { unordered_map<int,int> um; bool equal = um.key_eq()(105, 105); if(equal) cout<<"similar\n"; else cout<<"dissimilar"; return 0; }

输出

上述代码的输出如下:

similar
广告