STL 컨테이너
표준 템플릿 라이브러리 (STL) 관련된 개체의 모음을 저장 하기 위한 여러 개의 컨테이너를 제공 합니다.컨테이너 개체의 컨테이너에서 사용할 수를 지정할 수 있으므로 모든 템플릿 클래스입니다.이 항목에서는 STL 컨테이너 컨테이너는 사용자의 요구에 가장 적합 하는지 결정 하는 데 도움이 되는 개요를 제공 합니다.
두 개의 STL 라이브러리에서 선택 하는: STL 및 STL/CLR이 네이티브.STL/CLR에 대 한 자세한 내용은 STL/CLR 라이브러리 참조.
세 가지 범주, 시퀀스 컨테이너, 결합형 컨테이너와 컨테이너 어댑터에 STL에서 컨테이너를 구분할 수 있습니다.이러한 범주와 각 범주에 속하는 컬렉션 요약 되어 있습니다.더 자세한 정보는 컨테이너에 대 한 참조 설명서에서 찾을 수 있습니다.
시퀀스 컨테이너
시퀀스 컨테이너는 원래 삽입 된 요소의 순서를 유지 합니다.요소를 컨테이너에 삽입할 수 있는 위치를 지정할 수 있습니다.
deque (양방향 큐) 컨테이너 수 있습니다 빠른 삽입과 삭제 시작과 컨테이너의 끝에.또한 임의로 요소를 신속 하 게 액세스할 수 있습니다.
list 컨테이너 수 있습니다 빠른 삽입과 삭제는 컨테이너의 모든 위치에 있지만 컨테이너에서 요소에 임의로 액세스할 수 없습니다.
vector 컨테이너 배열 처럼 동작 하는 있지만 자동으로 증가 합니다 필요 합니다.
시퀀스 컨테이너에 대 한 자세한 내용은 다음 표를 참조 하십시오.
컨테이너 |
기본 STL |
STL/CLR |
---|---|---|
deque |
||
list |
||
vector |
결합형 컨테이너
오름차순으로 정렬의 미리 정의 된 순서 대로 요소 삽입 하도록는 결합형 컨테이너의 특징이입니다.
결합형 컨테이너는 두 개의 하위 집합으로 그룹화 할 수 있습니다: 맵 및 설정 합니다.A map, 때때로 참조 사전으로, 키/값 쌍으로 구성 됩니다.키는 시퀀스를 정렬 하는 데 사용 됩니다 및 어떤 식으로든 값을 해당 키와 관련 된.예를 들어 있는 map 키를 텍스트와 단어의 텍스트를 표시 하는 횟수를 나타내는 값의 모든 고유 단어가 나타내는 포함 될 수 있습니다.A set 간단 하 게는 오름차순으로 컨테이너의 고유 요소입니다.
둘 다 map 및 set 키 또는 컨테이너에 삽입할 요소의 인스턴스 하나에 허용 됩니다.사용 하는 요소의 인스턴스가 여러 개 필요한 경우 multimap 또는 multiset.
맵와 지원 양방향 반복기를 설정 합니다.반복기에 대 한 자세한 내용은 반복기.
공식적으로 STL 표준의 일부 동안 hash_map 및 hash_set 검색 시간을 향상 시키는 데 일반적으로 사용 됩니다.이 컨테이너 요소는 해시 테이블로 양방향 연결 된 구성 요소 목록에 들어 있는 각 테이블 항목을 저장 합니다.빠른 검색 시간을 보장 하려면 요소에 대 한 해시 알고리즘 균등 하 게 분산된 된 해시 값을 반환 해야 합니다.
결합형 컨테이너에 대 한 자세한 내용은 다음 표를 참조 하십시오.
컨테이너 |
기본 STL |
STL/CLR |
---|---|---|
hash_map |
||
hash_multimap |
||
hash_multiset |
||
hash_set |
||
map |
||
multimap |
||
multiset |
||
set |
컨테이너 어댑터입니다.
컨테이너 어댑터 단순히 위의 컨테이너의 변형입니다.반복기는 컨테이너 어댑터를 지원 하지 않습니다.
priority_queue 컨테이너 구성 요소의 가장 높은 값을 항상 큐의 첫 번째이 되도록 합니다.
queue 컨테이너 FIFO (처음에, 첫 번째 out) 구문을 따릅니다.삽입 된 첫 번째 요소 (큐에 푸시된) 제거 (팝)는 첫 번째입니다.
stack 컨테이너 뒤 LIFO (마지막으로, 첫 번째 out) 의미 합니다.삽입할 마지막 요소 (스택에 푸시된)의 첫 번째 요소를 제거 (팝)입니다.
컨테이너 어댑터 반복기를 지원 하지 않으므로 STL 알고리즘을 사용할 수 없습니다.알고리즘에 대 한 자세한 내용은 알고리즘.
컨테이너 어댑터에 대 한 자세한 내용은 다음 표를 참조 하십시오.
컨테이너 |
기본 STL |
STL/CLR |
---|---|---|
priority_queue |
||
queue |
||
stack |
컨테이너 요소에 대 한 요구 사항
있는 STL 컨테이너에 삽입할 요소 공용 복사 생성자, 소멸자를 공용 및 공용 할당 연산자를 제공 하는 모든 개체 형식일 수 있습니다.소멸자에서 예외를 throw 될 수 있습니다.게다가 결합형 컨테이너 예: set 및 map 연산자 인 정의 공개 비교 연산자가 있어야 < 기본적으로 합니다.일부 작업에는 컨테이너에서 공용 기본 생성자와 public 등가 연산자 필요 합니다.
컨테이너 요소에 액세스
반복기를 사용 하 여 컨테이너의 요소를 액세스 합니다.자세한 내용은 반복기를 참조하십시오.
[!참고]
또한 수 있습니다 각에 대해의 STL 컬렉션을 반복 합니다.자세한 내용은 방법: 각 STL 컬렉션에 반복를 참조하십시오.