반응형

-연속메모리 컨테이너 : vector, string( or rope), deque = 배열로 이루어졌으며 재하당 이 일어날 수 있다

-노드기반 컨테이너 :  set, multiset,map,multimap, 요소 삽입을 임의의 위치에서 삽입 불가능( 순서가 있으므로 )

                               (balanced tree 로 구성됨)

 

-해쉬컨테이너와 slist(단일연결리스트) 의 경우 양방향 반복자로 접근될 수 없다

 

-배열 구조와 호환되어야 한다면 vector밖에 쓸 수 있는게 없다

 

-탐색속도가 관심사라면 => 1.해쉬컨테이너, 2.정렬된 vector, 3. 표준 연관(set,map, 외..) 컨테이너 중 하나 의 순으로 접근한다

 

- 참조카운팅이 고려할때는 string 을 쓰지 말 것(string 내부에서 참조카운팅을 사용 할 수 있다=> 동일한 문자열에 대한 참조카운팅 )

   rope 또한 마찬가지 => 참조 카운팅 기반으로 구현되어 있다

   : 대신할 수 있는 것 vector<char>

 

-트렌젝션이 가능하거나 포인터,반복자, 참조가의 무효화가 최소화 되어야 하는가? => 노드기반 컨테이너( list, set, map )

 

 

 

삽입 


set,map 의 경우 push_back, push_front 를 지원하지 않는다 => insert 로 써야 함, 순서유지

list 의 경우에는 지원

 

 

예약

vector 에서는 reserve,capacity 가 있지만 list, deque 에서는이 멤버함수가 없다(내부 구조 때문)

 

반응형

+ Recent posts