функция unordered_map key_eq () в C ++ STL

Опубликовано: 3 Декабря, 2021

unordered_map :: key_eq () - это встроенная функция в C ++ STL, которая возвращает логическое значение согласно сравнению. Это зависит от предиката сравнения эквивалентности ключей, используемого контейнером unordered_map. Ключевое сравнение эквивалентности - это предикат, который принимает два аргумента и возвращает логическое значение, указывающее, должны ли они считаться эквивалентными. Он возвращает истину, если они эквивалентны, иначе возвращает ложь. Он принимается контейнером при создании и аналогичен оператору (==), используемому при сравнении.

Синтаксис

unordered_map_name.key_eq () (аргументы1, аргументы2)

Параметр: функция принимает два обязательных параметра args1 и args2, между которыми должно выполняться сравнение. Data_type такой же, как у unordered_map.

Возвращаемое значение: функция возвращает логическое значение.

Ниже программы иллюстрируют функцию unordered_map :: key_eq ().

Пример 1:

// CPP program to illustrate the
// unordered_map::key_eq() function
#include <bits/stdc++.h>
using namespace std;
int main()
{
// Declaring unordered_map
unordered_map<string, string> sample;
// check details
bool answer
= sample.key_eq()( "GEEKS" , "geeks" );
// checks if both are same
if (answer)
cout << "GEEKS and geeks are treated"
<< " similarly in the container " ;
else
cout << "GEEKS and geeks are treated"
<< " dissimilarly in the container " ;
return 0;
}
Выход:
К ГИКАМ и гикам относятся по-разному в контейнере.

Пример 2:

// CPP program to illustrate the
// unordered_map::key_eq() function
#include <bits/stdc++.h>
using namespace std;
int main()
{
unordered_map< int , int > sample;
bool answer = sample.key_eq()(100, 200);
// check
if (answer)
cout << "100 and 200 are treated "
<< "similarly in the container " ;
else
cout << "100 and 200 are treated"
<< " dissimilarly in the container " ;
answer = sample.key_eq()(100, 100);
if (answer)
cout << "100 and 100 are treated "
<< "similarly in the container " ;
else
cout << "100 and 100 are treated "
<< "dissimilarly in the container " ;
return 0;
}
Выход:
100 и 200 обрабатываются в контейнере по-разному.
100 и 100 обрабатываются одинаково в контейнере.
Хотите узнать о лучших видео и практических задачах, ознакомьтесь с базовым курсом C ++ для базового и продвинутого уровня C ++ и курсом C ++ STL для базового уровня плюс STL. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .