같은 타입의 여러 객체를 저장하는 일종의 집합
컨테이너는 클래스 템플릿으로,
(컨테이너는..데이터를 저장하고 관리하기 위한 클래스)
컨테이너 변수를 선언할 때 컨테이너에 포함할 요소의 타입을 명시할 수 있다.
컨테이너에는 복사 생성과 대입을 할 수 있는 타입의 객체만을 저장할 수 있고
요소의 추가 및 제거를 포함한 다양한 작업을 도와주는 여러 멤버 함수를 포함하고 있다.
컨테이너의 종류
STL에서 컨테이너는
자료를 저장하는 방식과
관리하는 방식에 따라 여러 가지 형태로 나뉠 수 있음
STL 컨테이너는 크게 다음과 같이 세 가지 유형으로 구분됨
1. 순차(시퀀스) 컨테이너(sequence container)
데이터를 선형으로 저장하며, 특별한 제약이나 규칙이 없는 가장 일반적인 컨테이너
임의의 위치에 삽입, 삭제가 가능합니다.
데이터를 순차적으로 저장합니다.
일반적인 자료구조와 동일한 형태
자료를 입력한 순서대로 저장하기 떄문에 저장, 검색, 알고리즘에 불리
=> 많지 않은 자료, 검색 속도 중요하지 않을 때 사용
vector(가변배열), deque(덱,앞뒤로 넣고 빼는큐), list(양방향 연결리스트), forwad_list(단방향 연결리스트)
2. 연관 컨테이너(associative container)
데이터를 일정 규칙에 따라 조직화하여 저장하고 관리하는 컨테이너
검색에 유리
set, multiset, map, multimap
3. 어댑터 컨테이너 (adapter container)
결함과 명료성을 위해 인터페이스를 제한한 시퀀스나 연관 컨테이너의 변형
단, 반복자를 지원하지 않으므로 STL 알고리즘에서는 사용할 수 없습니다.
stack, queue, priority_queue
출처
http://tcpschool.com/cpp/cpp_container_intro
코딩교육 티씨피스쿨
4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등
tcpschool.com
출처: https://heekim0719.tistory.com/314 [별토끼 DEVLOG]
[C++] STL Container 개념 및 특징
[C++] STL Container 개념 및 특징 STL(Standard Template Library) 란? C++의 템플릿을 이용해 표준으로 정리된 라이브러리 STL의 구성 요소 1. 반복자 :STL 컨테이너에 저장된 원소들을 가리키는 포인터 2. 컨테..
heekim0719.tistory.com