더북(TheBook)

2.1 | 순차 컨테이너

 

순차 컨테이너는 원소들을 선형적인 순차열(linear sequence)로 저장한다. 선형적이라는 건 원소들을 정렬하지 않는다는 뜻이다. 원소들은 저장한 순서대로 배열된다. 다섯 가지 표준 순차 컨테이너가 있고, 각각은 조금씩 다른 특성을 갖는다.

array<T,N> 컨테이너는 타입 T 객체, 고정 길이 N으로 된 순차열(sequence)을 정의한다. 원소를 추가하거나 삭제할 수 없다.

vector<T> 컨테이너는 타입 T 객체, 가변 길이 순차열을 정의하며 필요할 때 자동으로 길이가 늘어난다. 순차열의 끝에서만 원소를 추가하거나 삭제할 수 있다.

deque<T> 컨테이너는 자동으로 길이가 늘어나는 가변 길이 순차열을 정의한다. 순차열의 양쪽 끝에서 원소를 추가하거나 삭제할 수 있다.

list<T> 컨테이너는 이중 연결 리스트로 된 타입 T 객체의 가변 길이 순차열을 정의한다. 순차열의 모든 위치에서 원소를 추가하거나 삭제할 수 있다. list<T> 컨테이너는 컨테이너에 있는 원소에 접근하려면 첫 번째 원소나 마지막 원소에서 리스트를 따라 이동하면서 원하는 원소를 찾아야 하기 때문에 앞서 소개한 array<T,N>, vector<Tdeque<T>와 비교하면 상대적으로 접근 속도가 느리다.

forward_list<T>는 단일 연결 리스트로 된 타입 T 객체의 가변 길이 순차열을 정의한다. 순방향 리스트 컨테이너는 리스트 컨테이너보다 빠르고 더 적은 메모리를 사용하지만, 순차열에 있는 원소에 접근할 때 첫 번째 원소에서만 접근을 시작해야 한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.