방프리
Effective STL 이해하지 못한 항목 - 3 본문
항목 45. count, find, binary_search, lower_bound, upper_bound 그리고 equal_range를 제대로 파악해두자
(1). count : 작업 대상이 정렬되어 있지 않았을 때 사용합니다.
작업 후 true는 양수, false는 0으로 해석이 가능하며 작업이 시작되면 원하는 대상을 찾아도 범위 끝까지 갑니다.
(2). find : 범위의 접근자를 지정해주어야 한다는 단점이 있지만 요소를 찾으면 바로 실행을 중단합니다.
객체의 존재 여부 뿐만 아니라 객체 자체에 대해 알고 싶을 때 사용합니다.
(3). binary_search : 객체가 존재하는지 여부에 대해서만 확인합니다. 반환값은 bool 입니다.
(4). lower_bound : 원하는 값을 가진 객체의 첫째 사본 아니면 그 값이 삽입될 적당한 위치를 가리키는 반복자를
반환합니다. 하지만 이 경우엔 상등성 검사를 하게 되지요.
lower_bound는 동등성을 이용해 탐색하기 때문에 그것에 대한 내용은 프로그래머가 직접 해주어야 합니다.
(5). equal_range : 반복자 쌍으로 구성된 pair 객체를 반환합니다. 찾고 싶은 객체와 동등한 값의 범위를 지정하는
두 개의 반복자를 내어주는 알고리즘입니다.
equal_range의 반환값은 두 가지의 중요한 의미를 가지고 있는데
첫 번째는 두 반복자가 같으면 그 범위 안에 아무 것도 없다는 뜻입니다.
두 번째로는 두 반복자 사이의 거리를 국하면 범위 내의 객체의 개수가 나옵니다.
'C++ > EffectiveSTL' 카테고리의 다른 글
Effective STL 이해하지 못한 항목 - 4 (0) | 2020.01.19 |
---|---|
Effective STL 이해하지 못한 항목 - 2 (0) | 2020.01.19 |
Effective STL 이해하지 못한 항목 - 1 (0) | 2020.01.18 |
Effective STL (0) | 2020.01.18 |
Comments