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

+ Recent posts