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