- 자동정렬(바이너리 트리가 좋은 성능을 보장,로그 복잡도)
- 직접적인 원소 액세스를 허락하지 않는다.
- 수정하려면 원소를 제거하고, 새로운 값으로 변경된 새로운 원소를 삽입
- 반복자를 통하여 간접적으로 액세스하는 것 또한 제한을 받는다. 반복자의 측면에서 본다면 모든 원소의 값은 상수값이다.
특별한 검색 함수들
set과 multiset은 빠른 검색을 위해서 최적화 되어 있다.
따라서 이들은 특별한 검색 함수들을 제공한다
이 함수들은 알고리즘과 동일한 이름을 가질 뿐 성능적인 측면에서 본다면 전혀 다르다.
사용자는 반드시 이 버전의 함수들을 이용해야 한다.
이 버전의 함수들은 로그 복잡도를 보장하지만 알고리즘의 함수들은 선형 복잡도를 보장한다.
count(elem)
elem의 값을 가지는 원소의 개수를 반환
find(elem)
elem의 값을 가지는 첫 번째 원소의 위치를 반환한다. 만약 존재하지 않는다면 end()를 반환
lower_bound(elem)
elem의 값보다 크거나 같은 값을 가지는 원소의 위치를 반환
upper_bound(elem)
elem의 값보다 큰 값을 가지는 원소의 위치를 반환
equal_range(elem)
정렬된 상태를 깨트리지 않고 elem이 삽입될 수 있는 첫 번째 위치와 마지막 위치를 반환