-
STL 컨테이너Programming 기초/C++ 2024. 8. 11. 15:41
* 컨테이너
컨테이너는 같은 타입을 저장, 관리할 목적으로 만들어진 클래스(총 7가지 컨테이너 제공)
- 표준 시퀀스 컨테이너(standard sequence container)
: 컨테이너 원소가 자신만의 삽입 위치(순서)를 가지는 컨테이너
vector, deque, list: 선형적
- 표준 연관 컨테이너(standard associative container)
: 저장 원소가 삽입 순서와 다르게 특정 정렬 기준에 의해 자동 정렬되는 컨테이너
set, multiset, map, multimap: 비선형적
* 데이터를 하나의 연속한 메모리 단위로 저장하느냐에 따라 컨테이너를 분류
- 배열 기반 컨테이너(arrray-based container)
: 데이터 여러 개가 하나의 메모리 단위에 저장
vector, deque
- 노드 기반 컨테이너(node-based container)
: 데이터 하나를 하나의 메모리 단위에 저장
list, set, multiset, map, multimap
* 어댑터
어댑터는 구성 요소의 인터페이스를 변경한다.
- 컨테이너 어댑터(container adaptor) : stack, queue, priority_queue
- 반복자 어댑터(iterator adaptor): reverse_iterator, back_insert_iterator, front_insert_iterator, insert_iterator
- 함수 어댑타(function adaptor): 바인더(binder), 부정자(negator), 함수 포인터 어댑터(adaptor for pointers to functions)
* stack<int> st;
stack은 디폴트 컨테이너로 deque<int>를 사용하여 stack 컨테이너 객체를 생성한다.
* stack<int, vector<int>> st;
vector 컨테이너를 사용하여 stack 컨테이너를 생성한 경우.
출처 : 뇌를 자극하는 C++ STL
'Programming 기초 > C++' 카테고리의 다른 글
c++ 백준 1676번 팩토리얼의 0의 개수 (0) 2024.08.20 [c++] vscode에서 c++ 설치 the prelaunchtask c/c++: gcc build active file terminated with exit code -1 에러 해결 (0) 2024.07.19 [c++] 참조자형식 "&" (0) 2024.07.19 [C++] cin.ignore와 버퍼에 대한 이해 (0) 2024.06.28