주제: 연관 컨테이너(ordered/unordered), 정렬/비교·해시·동등성 규칙, 삽입/탐색/삭제 API, pair/emplace, 버킷/로드팩터, 이터레이터 제약, 커스텀 비교자·해시, 문자열/스트림 유틸(문자열 스트림, 포맷팅 기초)
map/multimap/set/multiset의 키 정렬, 유일성, 이터레이터 성격unordered_map/unordered_set 계열의 버킷/로드팩터/재해시insert/emplace, find/count, lower_bound/upper_bound/equal_range, erasepair/tuple 기본, map의 operator[] 의미(생성 주의), 범위 기반 삭제 패턴istringstream/ostringstream, 포맷팅 기초(채움/너비/정밀도)정렬 연관 컨테이너 (트리 기반, 기본: 오름차순 < 비교)
- set / multiset (키만 저장)
- map / multimap (키-값 쌍 저장)
비정렬 연관 컨테이너 (해시 기반, == / hash 필요)
- unordered_set / unordered_multiset
- unordered_map / unordered_multimap
| 컨테이너 | 키 유일성 | 저장 값 | 정렬 기준 | 이터레이터 |
|---|---|---|---|---|
set<T> |
유일 | T |
std::less<T>(기본 <) |
양방향 |
multiset<T> |
중복 허용 | T |
same | 양방향 |
map<K,V> |
키 유일 | pair<const K, V> |
same | 양방향 |
multimap<K,V> |
중복 허용 | pair<const K, V> |
same | 양방향 |
map의 원소 타입은 pair<const K, V> → 키는 수정 불가(정렬 불변성 유지).