-
Container의 선택카테고리 없음 2014. 1. 19. 05:28
- 가장 이상적인 컨테이너는 Array이다. 사이즈를 알수 있고 별다른 조건이 필요없다면 가장 효율적이고 빠르다.
- 그 다음은 Vector인데 원소의 수의 변화가 많지 않고 그 변화를 예측할 수가 있다면 사용하는 것이 좋다.
특히 reserve 기능은 vector 의 특징이고 이를 효율적으로 사용한다면 어떤 컨테이너보다 횽ㄹ적이다.
- 원소의 추가 삭제가 자주 일어나는 경우에는 list가 좋다. List는 임의의 원소의 추가 삭제에 최적화되어있다.
- 만일 원소 추가 삭제가 전/후 추가 삭제만 자주 일어난다면 dequeue 가 효율적이다.
- 원소/추가 삭제가 시퀀스의 맨뒤에서 일어난다면 vector가 장 가볍다.
- 원소의 정렬이 필요하면 Set을 사용한다.
- 원소의 정렬도 필요하고 같은 데이타도 넣으려면 multiset을
- 이중에서 key가 분리된다면 map이나 multimap을 사용한다.
- 검색이 많은 경우 Set이나 Map을 사용한다.