📅  最后修改于: 2023-12-03 15:29:51.066000             🧑  作者: Mango
key_eq()
函数是C++ STL中unordered_multimap容器的成员函数之一。该函数返回一个比较器,用于在unordered_multimap容器中比较键的相等性。
key_equal key_eq() const
其中,key_equal
是一个模板类型参数,表示键相等性的比较器类型。
无参数。
返回一个比较器对象,用于比较unordered_multimap容器中的键。默认情况下,key_eq()
返回一个默认比较器,使用==
运算符比较键的相等性。
#include <iostream>
#include <unordered_map>
#include <string>
int main() {
std::unordered_multimap<int,std::string> my_map = {
{1,"apple"},
{2,"banana"},
{3,"cherry"},
{4,"apple"}
};
auto hasher = my_map.hash_function();
auto eq = my_map.key_eq();
std::cout << "hash of 1: " << hasher(1) << std::endl;
std::cout << "hash of 2: " << hasher(2) << std::endl;
std::cout << "hash of 3: " << hasher(3) << std::endl;
std::cout << "hash of 4: " << hasher(4) << std::endl;
std::cout << "key=1 equals key=4: " << eq(1,4) << std::endl;
std::cout << "key=2 equals key=3: " << eq(2,3) << std::endl;
return 0;
}
输出:
hash of 1: 1
hash of 2: 0
hash of 3: 1
hash of 4: 1
key=1 equals key=4: 1
key=2 equals key=3: 0
在这个例子中,我们创建了一个unordered_multimap
容器,并向其中插入了四个键/值对。然后,我们使用hash_functor()
函数获取了容器的哈希函数,并使用key_eq()
函数获取了容器的键相等性比较器。我们对容器中的键进行了哈希,并比较了一些键的相等性。
key_eq()
函数是unordered_multimap
容器的成员函数之一,用于返回一个比较器,用于比较容器中的键的相等性。默认情况下,返回一个默认比较器,使用==
运算符比较键的相等性。在使用unordered_multimap
容器时,可以使用key_eq()
函数获取键相等性比较器,进一步扩展容器的使用场景。