컨테이너
컨테이너(container)
STL에서 컨테이너(container)는 같은 타입의 여러 객체를 저장하는 일종의 집합이라 할 수 있습니다.
컨테이너는 클래스 템플릿으로, 컨테이너 변수를 선언할 때 컨테이너에 포함할 요소의 타입을 명시할 수 있습니다.
컨테이너에는 복사 생성과 대입을 할 수 있는 타입의 객체만을 저장할 수 있습니다.
또한, 컨테이너는 요소의 추가 및 제거를 포함한 다양한 작업을 도와주는 여러 멤버 함수를 포함하고 있습니다.
컨테이너의 각 요소에는 반복자를 사용하여 접근할 수 있습니다.
컨테이너의 종류
STL에서 컨테이너는 자료를 저장하는 방식과 관리하는 방식에 따라 여러 가지 형태로 나뉠 수 있습니다.
STL 컨테이너는 크게 다음과 같이 세 가지 유형으로 구분됩니다.
1. 시퀀스 컨테이너(sequence container)
2. 연관 컨테이너(associative container)
3. 컨테이너 어댑터(adapter container)
컨테이너 종류 | 설명 | 컨테이너 |
---|---|---|
시퀀스 컨테이너 | 데이터를 선형으로 저장하며, 특별한 제약이나 규칙이 없는 가장 일반적인 컨테이너 | vector, deque, list, forwad_list |
연관 컨테이너 | 데이터를 일정 규칙에 따라 조직화하여 저장하고 관리하는 컨테이너 | set, multiset, map, multimap |
컨테이너 어댑터 |
간결함과 명료성을 위해 인터페이스를 제한한 시퀀스나 연관 컨테이너의 변형 단, 반복자를 지원하지 않으므로 STL 알고리즘에서는 사용할 수 없습니다. |
stack, queue, priority_queue |