Skip to content

Latest commit

 

History

History
17 lines (7 loc) · 2.02 KB

Container.md

File metadata and controls

17 lines (7 loc) · 2.02 KB

STL Container

STL 컴테이너(Container)는 템플릿 클래스로 데이터를 저장하고 검색하기 위해 데이터를 저장하는 자료구조로 vector, deque, list, queue, stack, set, map 이 있다. 모든 STL 컨테이너는 같은 타입의 데이터(객체 포함)의 모임이다. STL 컨테이너는 탬플릿 클래스로 구현되어 있기 때문에 임의의 자료형의 데이터를 저장할 수 있는 컨테이너를 만들 수 있다.

컨테이너는 자료구조에 저장된 메모리를 공간을 관리하며 각각의 원소에 접근할수 있도록 멤버 함수를 제공한다. 컨테이너에 저장된 데이터의 젭근하는 방법에는 직접 함수를 호출하여 접근하는 방법과 반복자(iterator)를 이용하여 접근하는 방법이 있다.

STL 컨테이너는 여러 형태의 컨테이너가 정의되어 있으며 저장된 데이터의 구조에 따라 시퀀스 컨테이너(Sequence Container), 연관 컨테이너(Associative Container), 컨테이너 어뎁터(Container Adapter) 로 분류된다.

시퀀스 컨테이너(Sequence Container)는 데이터(객체)가 배열처럼 순차적으로 저장되는 구조로 사용자가 데이터의 순서를 제어한다. 시퀀스 컨테이너에는 vector, list, deque 세 가지가 정외되어 있다.

연관 컨테이너(Associative Container)는 데이터가 사전과 같이 일정 규칙에 따라 저장되는 구조로 컨테어너가 데이터의 유치를 제어한다. 연관 컨테이너는 키(key)-값(value) 구조를 가지고 있어 데이터의 접근이 key를 통해서 이루어진다. 연관 컨테이너에는 map, set, multiset, multimap 네 가지가 정의되어 있다.

컨테이너 어뎁터(Container Adaptor)는 다른 컨터이너 클래스를 상속받아 제약을 두어 데이터(객체)의 입출력을 규정한 방법으로만 수행하는 컨테이너 이다. 컨테이너 어뎁터에는 stack, quque, priority queue 세 가지가 정의되어 있다.