std::unordered_multiset<Key,Hash,KeyEqual,Allocator>::bucket

来自cppreference.com

 
 
 
 
size_type bucket( const Key& key ) const;
(1) (C++11 起)
template< typename K >
size_type bucket( const K& x ) const;
(2) (C++26 起)
1) 返回键 key 的桶的索引。具有等价于 key 的键的元素(若存在)始终会在此桶中找到。
2) 返回键与 x 的值比较等价 的桶的索引。具有与 x 比较等价的键的元素(若存在)始终会在此桶中找到。 此重载只有在Hash::is_transparentKeyEqual::is_transparent 均合法并指代类型时才会参与重载决议。这假设使得 Hash 能用 KKey 类型调用,并且 KeyEqual 是透明的,进而允许调用此函数时不需要构造 Key 的实例。

其返回值仅对于 bucket_count() 返回相同值的容器实例是合法的(例如,rehash() 会使之前获得的值失效)。

bucket_count() 为零则行为未定义。

参数

key - 要检验的键值
x - 可以与键进行透明比较的任何类型的值

返回值

所需键的桶的索引。

复杂度

常数。

注解

功能特性测试 标准 功能特性
__cpp_lib_associative_heterogeneous_insertion 202311L (C++26) 有序无序关联容器中剩余成员函数的异质重载。(2)

示例

参阅

返回特定的桶中的元素数量
(公开成员函数)