跳到主要内容

std::unordered_multiset contains() 方法

// (1) Const version only
bool contains( const Key& key ) const;

// (2) Const version only
template< class K >
bool contains( const K& x ) const;
  • (1) 检查容器中是否存在键等同于 key 的元素。
  • (2) 检查是否存在一个键与值 x 等价的元素。仅当 Hash::is_transparentKeyEqual::is_transparent 有效且各自表示一个类型时,此重载才参与重载解析。这假定此类 Hash 可用 KKey 类型调用,并且 KeyEqual 是透明的,这两者一起允许在不构造 Key 实例的情况下调用此函数。

参数

  • key - 要计数的元素的键值
  • x - 可以与键透明比较的任何类型的值

返回值

如果存在此类元素,则为 true,否则为 false

复杂度

平均情况,常数 - O(1)
最坏情况,与容器大小呈线性关系 - O(size())

异常

(无)

示例

Main.cpp
#include <iostream>
#include <unordered_set>

int main()
{
std::unordered_multiset<int> example = {1, 2, 3, 4};

for(int x: {2, 5}) {
if(example.contains(x)) {
std::cout << x << ": Found\n";
} else {
std::cout << x << ": Not found\n";
}
}
}
输出
2: Found
5: Not found
本文来源于 此 CppReference 页面。可能为了改进或编辑偏好进行了修改。点击“编辑此页面”以查看对此文档的所有更改。
悬停查看原始许可证。

std::unordered_multiset contains() 方法

// (1) Const version only
bool contains( const Key& key ) const;

// (2) Const version only
template< class K >
bool contains( const K& x ) const;
  • (1) 检查容器中是否存在键等同于 key 的元素。
  • (2) 检查是否存在一个键与值 x 等价的元素。仅当 Hash::is_transparentKeyEqual::is_transparent 有效且各自表示一个类型时,此重载才参与重载解析。这假定此类 Hash 可用 KKey 类型调用,并且 KeyEqual 是透明的,这两者一起允许在不构造 Key 实例的情况下调用此函数。

参数

  • key - 要计数的元素的键值
  • x - 可以与键透明比较的任何类型的值

返回值

如果存在此类元素,则为 true,否则为 false

复杂度

平均情况,常数 - O(1)
最坏情况,与容器大小呈线性关系 - O(size())

异常

(无)

示例

Main.cpp
#include <iostream>
#include <unordered_set>

int main()
{
std::unordered_multiset<int> example = {1, 2, 3, 4};

for(int x: {2, 5}) {
if(example.contains(x)) {
std::cout << x << ": Found\n";
} else {
std::cout << x << ": Not found\n";
}
}
}
输出
2: Found
5: Not found
本文来源于 此 CppReference 页面。可能为了改进或编辑偏好进行了修改。点击“编辑此页面”以查看对此文档的所有更改。
悬停查看原始许可证。