..

Search

68) 컨테이너

68) 컨테이너

컨테이너


컨테이너(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

연습문제