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
廣告