C++ unordered_multimap::key_eq() 函数



C++ 的 std::unordered_multimap::key_eq() 函数用于返回一个布尔值,该值取决于容器用来比较键是否相等的键等价比较谓词。如果发生等价,则返回 true;否则,返回 false。

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

语法

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

key_equal key_eq() const;

参数

此函数不接受任何参数。

返回值

此函数返回键比较函数。

示例 1

在下面的示例中,我们演示了 unordered_multimap::key_eq() 函数的使用。

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

输出

如果我们运行上述代码,它将生成以下输出:

umm.key_eq() is case sensitive

示例 2

考虑以下示例,我们将使用 key_eq() 函数并检查 unordered_multimap 的两个键是否相似。

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

输出

以下是上述代码的输出:

dissimilar

示例 3

让我们看下面的示例,我们将使用接受整数值的 multimap 并应用 key_eq() 函数来检查两个键是否相似。

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

输出

上述代码的输出如下:

similar
广告