STL 특징
- 효율성
- 재사용성
- 확장성
- [알고리즘]을 통해서 [컨테이너]에 제어(삽입?,삭제?)한다
- [반복자]를 통해서 [컨테이너]에 접근한다
컨테이너 : 객체를 저장하는 객체(저장소)
1.시퀸스(순차열) 컨테이너 vs 연관컨테이너
-
시퀸스 컨테이너 : 컨테이너 원소가 자신만의 삽입 위치를 가지는 컨테이너, 삽입되는 순서에 따라 원소의 위치가 결정되고 바뀌지가 않는다 (vector,dequq,list)
-
연관컨테이너 : 저장원소가 삽입순서와 다르게 특정정렬 기준에 자동정렬되는 컨테이너 (map,set) * 연관컨테이너 에서 찾기 관련 멤버 함수는 key룰 찾을 때 == 를 사용하지 않고, 컨테이너의 정렬 기준 조건자를 이용해 찾기 연산을 수행한다.
- lower_bound(), upper_bound(), equal_range() ->연관컨테이너 모두 사용가능
- 저장된 데이터를 순회할 떄 넣은 정렬된 순서로 순회한다.
2.배열컨테이너 vs 노드컨테이너
- 배열 컨테이너 : 데이터 여러 개가 하나의 메모리 단위에 저장된다. -> .at( ); 를 해당 위치에 값을 가져올수 있다
- 노드컨테이너 : 데이터 하나를 하나의 메모리 단위에 저장한다
반복자 : 컨테이너 원소를 가리키는 포인터, 알고리즘과 컨테이너의 다리
- 컨테이너에 저장된 원소를 순회하고 접근하는 방법을 제공한다.
- 반복자 덕분에 알고리즘은 특정 컨테이너에 종속적이지 않고, 돍립적이면서도 언제든지 컨테이너와 결합하여 동작 할 수 있다.
알고리즘 : 정렬,삭제,검색,연산 등을 해결하는 일반화된 방법을 제공하는 함수 템플릿
- 원소를 수정하지 않는 알고리즘
- 원소를 수정하는 알고리즘
- 제거 알고리즘
- 변경 알고리즘
- 정렬 알고리즘
- 정렬된 범위 알고리즘
- 수치 알고리즘
'프로그래밍 > STL' 카테고리의 다른 글
Map / MuitlMap (0) | 2019.04.30 |
---|---|
Set / MutilSet (0) | 2019.04.30 |
LIST (0) | 2019.04.30 |
DEQUE (0) | 2019.04.30 |
VECTOR (0) | 2019.04.30 |