책 정리/More Exceptional C++
항목 7 : vector와 deque 사용하기 ( 난이도 : 3 )
최익필
2008. 12. 22. 22:25
바로 질문 들어가자.
1. 표준 라이브러리에서 vector와 deque는 유사한 기능을 한다. 그렇다면 둘 중 어떤 컨테이너를 써야 할까? 이유는? 둘 중 하나를 골라서 써야 하는 상황은?
음.. 그림으로 표시 바로.. 출처는 http://www.cplusplus.com/reference/stl/ 이다
2. 다음 코드는 어떤 결과를 보여 주나?
풀이를 하자면 C를 초기에 10000까지 늘리고, 10개 후부터 끝까지 지운 후에 공간을 10으로 만든다. 하지만.. 실제 공간이 10으로 줄여주는것이 아니므로, 줄여주기 위한 목적이라면 resize( 10 ) 을 써야 한다.
3. vector나 deque는 새로운 요소를 추가할 때마다 크기가 커져서 재할당해야 하는 것에 대비해 추가적인 내부 메모리를 미리 잡아 둔다. vector나 deque를 완전히 삭제하는 것이 가능한가? (잡아둔 영역까지.)
가능하다..
총평
음! vector 와 deque의 근복적인 차이에 대해서 설명하고 있지 않아 안타갑다. 왠하면 나도 알아야 하기 때문이다; 단지 메모리 블럭을 deque는 앞쪽과 뒤쪽을 쓰고 있다는 것만 알 뿐(.. 사실 이게 다겠지만 좀더 자세한 내용이 필요하다)..