std::unordered_set<Key,Hash,KeyEqual,Allocator>::find - cppreference.com
提供: cppreference.com
<tbody> </tbody>
|
|
(1) | |
|
|
(2) | |
|
|
(3) | (C++20以上) |
|
|
(4) | (C++20以上) |
1,2) キー key と同等なキーを持つ要素を探します。
3,4) 値 x と比較して同等なキーを持つ要素を探します。 このオーバーロードは、Hash::is_transparent と KeyEqual::is_transparent が有効であり、それらが型を表す場合にのみ、オーバーロード解決に参加します。 これは、そのような Hash が K と Key の両方の型で呼び出し可能であり、 KeyEqual が透過的であると仮定します。 これらは、 Key のインスタンスを構築することなくこの関数を呼ぶことを可能とします。
引数
| key | - | 検索する要素のキーの値 |
| x | - | キーと透過的に比較可能な任意の型の値 |
戻り値
key と同等なキーを持つ要素を指すイテレータ。 そのような要素が見つからなければ、終端イテレータ (end() を参照) が返されます。
計算量
平均的なケースでは一定。 ワーストケースではコンテナのサイズに比例。
例
#include <iostream> #include <unordered_set> int main() { // 単純な比較のデモ std::unordered_set<int> example = {1, 2, 3, 4}; auto search = example.find(2); if (search != example.end()) { std::cout << "Found " << (*search) << '\n'; } else { std::cout << "Not found\n"; } }
出力: