컨테이너 선택 기준

컨테이너는 연산 패턴으로 고릅니다

STL 컨테이너는 모두 값을 담지만 메모리 배치, 삽입 비용, 검색 방식, 반복자 안정성이 서로 다릅니다.

순차 저장연속 메모리와 인덱스 접근이 중요하면 vector를 먼저 봅니다.
키 검색정렬된 탐색은 map, 평균 빠른 검색은 unordered_map이 후보입니다.
access

읽는 방식

임의 접근이 잦으면 연속 저장 구조가 유리하고, 순회만 한다면 선택지가 넓어집니다.

insert

삽입 위치

끝에 많이 넣는지, 중간 삭제가 잦은지에 따라 vectorlist 판단이 갈립니다.

order

순서 의미

정렬 상태가 API의 일부인지, 단순 보관인지가 연관 컨테이너 선택을 결정합니다.

기본 후보대부분은 std::vector에서 시작해 실제 병목이 보이면 바꿉니다.
어댑터stack, queue는 내부 컨테이너의 일부 동작만 공개합니다.
무효화 비용반복자 무효화와 메모리 재배치 비용까지 함께 비교합니다.

연산 패턴 컨테이너 이름을 외우기보다 “어떤 연산을 가장 자주 하는가”를 먼저 적으면 선택이 안정됩니다.