C++ unordered_set::key_eq() 函式



C++ 的 std::unordered_set::key_eq() 函式用於根據比較返回布林值,如果發生等價則返回 true;否則,返回 false,這取決於 unordered_set 容器使用的鍵等價比較謂詞,該謂詞比較元素是否相等。

鍵等價比較是一個謂詞,它接受鍵型別的兩個引數,並返回一個布林值,指示它們是否應被視為等價。

語法

以下是 std::unordered_set::key_eq() 函式的語法。

key_equal key_eq() const;

引數

此函式不接受任何引數。

返回值

此函式返回一個鍵相等比較物件。

示例 1

在下面的示例中,我們將使用 unordered_set::key_eq() 函式並檢查該函式是否區分大小寫。

#include <iostream>
#include <string>
#include <unordered_set>
using namespace std;

int main () {
   unordered_set<string> uSet;
   bool case_insensitive = uSet.key_eq()("jerry","JERRY");
   cout << "uSet.key_eq() is ";
   cout << ( case_insensitive ? "case insensitive" : "case sensitive" );
   cout << endl;
   return 0;
}

輸出

如果我們執行上面的程式碼,它將生成以下輸出:

uSet.key_eq() is case sensitive

示例 2

考慮下面的示例,我們將使用 key_eq() 函式檢查 unordered_set 是否相似。

#include <iostream>
#include <string>
#include <unordered_set>
using namespace std;

int main () {
   unordered_set<string> uSet;
   bool equal = uSet.key_eq()("tutorialspoint","tutorialspoint");
   if(equal){
      cout<<"both elements are similar\n";
   } else{
      cout<<"dissimilar\n";
   }
   return 0;
}

輸出

以上程式碼的輸出如下:

both elements are similar

示例 3

讓我們看看下面的示例,我們將使用 key_eq() 函式檢查給定的元素是否相似。

#include <iostream>
#include <string>
#include <unordered_set>
using namespace std;

int main() {
   unordered_set<int> uSet;
   bool	r = uSet.key_eq()( 105, 115);

   cout << "Integers are ";
   if (r == 1) {
      cout << "same";
   } else {
      cout << "not same";
   }
   return 0;
}

輸出

以上程式碼的輸出如下:

Integers are not same
廣告