std::unordered_set<Key,Hash,KeyEqual,Allocator>:: contains
From cppreference.net
<
cpp
|
container
|
unordered set
|
bool
contains
(
const
Key
&
key
)
const
;
|
(1) |
(C++20부터)
(C++26부터 constexpr) |
|
template
<
class
K
>
bool contains ( const K & x ) const ; |
(2) |
(C++20부터)
(C++26부터 constexpr) |
1)
컨테이너에
key
와 동등한 키를 가진 요소가 있는지 확인합니다.
2)
키가
x
와 동등하게 비교되는 요소가 있는지 확인합니다.
이 오버로드는
Hash
와
KeyEqual
이 모두
transparent
인 경우에만 오버로드 해결에 참여합니다. 이는 해당
Hash
가
K
와
Key
타입 모두에 대해 호출 가능하고,
KeyEqual
이 transparent임을 가정하며, 이를 통해
Key
의 인스턴스를 생성하지 않고 이 함수를 호출할 수 있습니다.
목차 |
매개변수
| key | - | 검색할 요소의 키 값 |
| x | - | 키와 투명하게 비교될 수 있는 임의의 타입의 값 |
반환값
true 해당 요소가 존재할 경우, 그렇지 않으면 false .
복잡도
평균적으로는 상수 시간, 최악의 경우 컨테이너 크기에 선형적으로 증가합니다.
예제
이 코드 실행
#include <iostream> #include <unordered_set> int main() { std::unordered_set<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
참고 항목
|
특정 키를 가진 요소를 찾습니다
(public member function) |
|
|
특정 키와 일치하는 요소의 개수를 반환합니다
(public member function) |
|
|
특정 키와 일치하는 요소들의 범위를 반환합니다
(public member function) |