SET : 연관 컨테이너, 노드 컨테이너
- 균형이진트리로 구현되고, 균형이진 트리의 모든 특징을 가진다
- 양방향접근자 제공
- 키를 저장하는 유일한 함수 insert 제공
- 중복된 값(key)는 삽입되지 않는다
- 삽입되면 기본적으로 오름차순 정렬이 된다.
- 연관컨테이너 핵심은 빠른 원소 찾기이다
insert() 반환값 샘플
set에서 반환값은 1. 저장위치와 2.삽입 성공여부 2개가 리턴 된다.
std::set<int> myHouse;
std::pair<std::set<int>::iterator, bool> pairList;
pairList = myHouse.insert(3); //TRUE
pairList = myHouse.insert(2); //TRUE
pairList = myHouse.insert(1); //TRUE
pairList = myHouse.insert(3); //FALSE 이미 있는 값으로 안들어간다.
find()
- 연관컨테이너 에서 찾기 관련 멤버 함수는 key룰 찾을 때 == 를 사용하지 않음
- 컨테이너의 정렬 기준 조건자를 이용해 찾기 연산을 수행한다.
MutilSET : 연관 컨테이너, 노드 컨테이너
- Set과 달리 중복된 값(key)이 삽입된다
- 중복 저장될 수 있기 떄문에, set같이 bool값을 반환하는 pair객체가 아닌, 저장된 위치만을 가리키는 반복자를 반환한다.
insert() 반환
set과는 달리 저장위치만 반환 받는다.(itor)