'컨테이너'에 해당되는 글 1건

  1. 2009.10.22 STL 항목 1 : 적재적소에 알맞은 컨테이너를 사용하자.

ㄱ.   컨테이너 구분.

    표준 시퀀스 컨테이너 ( vector, string, deque, list )

    표준 연관 컨테이너 ( set, multiset, map, multimap )

    연속 메모리 컨테이너 ( vector, string, deque )

    노드 기반 컨테이너 ( set, multiset, map, multimap, list )

ㄴ. 알맞은 컨테이너 사용은 언제?

   시퀀스 컨테이너 사용 할 시기
-
컨테이너의 아무 위치에 요소를 삽입 해야 한다면
-
컨테이너 요소들의 순서 결정에 직접 관여 해야 한다면

    탐색 속도가 중요하면?
-
해쉬 컨테이너, 정렬된 vector 그리고 표준 연관 컨테이너의 순서대로 생각.

    반복자, 포인터, 참조자가 무효화 되는 일을 최소화 해야 하나?
-
노드 기반 컨테이너를 사용 : 노드 삽입과 삭제가 일어나도 기존의 반복자나 포인터 혹은 참조자가 무효화 되지 않음.
반면, 연속 메모리 컨테이너는 전체적인 메모리 재 할당이 빈번히 일어나기 때문에 반복자나 포인터, 참조자가 무효화 되기 쉽다.

    컨테이너 내의 데이터가 C의 데이터 타입과 메모리 배열 구조적으로  호환 되야 하면 vector!

Posted by 냉동