프로그래밍





2015/07/17 14:33

STL 컨테이너 - 1. 개요 C/C++

1. STL 컨테이너 (참고)


참고 링크를 따라가면 컨테이너에 대한 정의가 있지만,

원래 영어로 되어있는 문서를 한글로 번역 한 것이기 때문에 용어가 좀 어려울 수 있다.

그래서 컨테이너를 간단하게 정의하면 

데이터를 저장하는 배열을 클래스화 해서 미리 정의 한 것 이라고 생각하면 된다.

STL에 정의 되어 있는 컨테이너는 크게 3가지 종류로 나눌 수 있다.


시퀸스 컨테이너, 연관 컨테이너, 컨테이너 어뎁터


1. 시퀸스 컨테이너

보통 시퀸스 컨테이너(순차 컨테이너)는 선형 자료구조라고 말 하는 것으로 vector, array, deque , list 등이 있다.


2. 연관 컨테이너

기본적인 연관 컨테이너는 오름차순, 내림차순 같이 자료를 저장하는 순서를 정의해 사용하지만 

반드시 순서를 정의해야 하는 컨테이너는 아니다.

연관 컨테이너에는 map, set 등이 있고 이터레이터(반복자)를 이용해 자료를 관리한다.


3. 컨테이너 어뎁터

저장한 데이터를 입출력 할때 특정한 방식에 따라 관리하는 것으로 시퀸스나 연관 컨테이너의 변형이라고 할 수 있다.

컨테이너 어뎁터에는 queue, stack 등이 있는데 queue는 FIFO(First In First Out), stack은 LIFO(Last In First Out)의 형태를 가진다.

자세한 입출력 방식은 컨테이너 어뎁터에 대한 포스팅에서 다루도록 하겠다.


이렇게 다양한 컨테이너를 입출력 하는 방식에는 

메서드(함수)를 정의해 이용하는 방법과 연산자 중복정의를 이용하는 방법이 있다.


또한 입력한 데이터에 각각 접근 할때는 연관 컨테이너에서 말한 반복자를 사용해야 하지만 이 부분에 대한 것은

다음 포스팅 예정인 시퀸스 컨테이너에서 이야기 하겠다.



덧글

댓글 입력 영역