바로 질문 들어가자.
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는 앞쪽과 뒤쪽을 쓰고 있다는 것만 알 뿐(.. 사실 이게 다겠지만 좀더 자세한 내용이 필요하다)..
'책 정리 > More Exceptional C++' 카테고리의 다른 글
More Exceptional C++ 목차 및 링크 (0) | 2008.12.23 |
---|---|
항목 11 : Mastermind (난이도 : 8 ) (0) | 2008.12.23 |
항목 10 : 템플릿 특화(specialization)과 오버로딩(overloading) ( 난이도 : 6 ) (0) | 2008.12.23 |
항목 9 : 똑같은 코드? ( 난이도 : 5 ) (0) | 2008.12.23 |
항목 8 : set과 map 사용하기 ( 난이도 : 5 ) (0) | 2008.12.22 |
항목 6 : 컨테이너, 포인터 그리고 컨테이너가 아닌 컨테이너 (0) | 2008.12.22 |
항목 5 : typename ( 난이도 : 7 ) (0) | 2008.12.22 |
항목 4 : 확장 가능한 템플릿 : 상속을 통해서 아니면 특성(traits) 클래스를 통해서? ( 난이도 : 7 ) (0) | 2008.12.22 |
항목 3 : 판단자(predicate) Part 2 : 상태와 판단자 ( 난이도 : 7 ) (0) | 2008.12.20 |
항목 2 : 판단자(predicate) Part 1 : remove()가 삭제 하는 것은? (난이도 : 4 ) (0) | 2008.12.19 |
최근댓글