목표


0) 한 장 요약

[컨테이너] ←→ [반복자] ←→ [알고리즘]
         (back_inserter 등 어댑터로 연결 최적화)


1) 시퀀스 컨테이너 비교: 언제 무엇을 쓰나?

컨테이너 특징 장점 주의/단점 사용 예
vector<T> 연속 메모리(배열 유사), 임의접근 O(1) 대부분의 경우 가장 빠르고 범용 중간 삽입/삭제 비용 큼(이동/재할당) 수집·정렬·탐색 기본 구조
deque<T> 블록 배열, 양끝 삽입/삭제 빠름 push_front 효율적, 임의접근 O(1) 중간 삽입/삭제 여전히 비쌈 양끝 큐, 작업 파이프라인
list<T> 이중연결리스트, 노드 기반 중간 삽입/삭제 항상 O(1), 반복자 안정적 임의접근 불가(느림), 메모리 오버헤드 자주 중간 삽입/삭제할 때

기본값은 vector: 성능·메모리·호환성의 균형이 가장 좋음. 특별한 이유 있을 때만 다른 컨테이너 선택.


2) 반복자(Iterator) 핵심

2-1. 카테고리(능력치)