std::unordered_set<Key,Hash,KeyEqual,Allocator>::contains
提供: cppreference.com
bool contains( const Key& key ) const; |
(1) | (C++20以上) |
template< class K > bool contains( const K& x ) const; |
(2) | (C++20以上) |
1) コンテナに
key と同等なキーを持つ要素が存在するかどうか調べます。2) 値
x と同等なキーを持つ要素が存在するかどうか調べます。 このオーバーロードは、Hash::is_transparent と KeyEqual::is_transparent が有効であり、それらが型を表す場合にのみ、オーバーロード解決に参加します。 これは、そのような Hash が K と Key の両方の型で呼び出し可能であり、 KeyEqual が透過的であると仮定します。 これらは、 Key のインスタンスを構築することなくこの関数を呼ぶことを可能とします。引数
| key | - | 検索する要素のキーの値 |
| x | - | キーと透過的に比較可能な任意の型の値 |
戻り値
そのような要素が存在する場合は true、そうでなければ false。
計算量
平均的なケースでは一定。 ワーストケースではコンテナのサイズに比例。
例
Run this code
#include <iostream>
#include <unordered_set>
int main()
{
std::unordered_set<int> example = {1, 2, 3, 4};
if(example.contains(2)) {
std::cout << "Found\n";
} else {
std::cout << "Not found\n";
}
}
出力:
Found
関連項目
| 指定されたキーを持つ要素を探します (パブリックメンバ関数) | |
| 指定されたキーと一致する要素の数を返します (パブリックメンバ関数) | |
| 指定されたキーに一致する要素の範囲を返します (パブリックメンバ関数) |