[C언어] C++ 표준라이브러리(STL) 정리
업데이트:
C++ 표준라이브러리(STL) 정리
1.STL이란
STL이란, 표준 C++ 라이브러리(standard template library)이며, 프로그램에 필요한 자료구조와 알고리즘을 템플릿으로 제공한다.
2.STL 구성요소
1.컨테이너(container) 2.반복자(iterator) 3.알고리즘(algorithm) 4.함수자(functor)
2.1 컨테이너
컨테이너는 데이터를 저장하는 객체다.
- 표준 연속 컨테이너: vector, deque, list
- 표준 연관 컨테이너: set, multiset, map, multimap, hash_set, hash_multiset, hash_multimap
2.2 반복자
STL은 반복자의 5가지 종류를 구현한다.
2.2.1 입력 반복자(input iterators): 읽기만 가능, 순방향 이동(only read)
입력 반복자가 갖춰야할 세가지 요구사항
- 반복자는 다른 반복자와 상등여부 비교 가능해야한다. 같은 위치를 가리키면 같은것, 그렇지 않으면 다른 것.
- 반복자는 * 연산자를 사용하여 반복자가 가리키는 값을 얻을 수 있어야 한다.
- 반복자는 ++ 연산자를 사용하여 다음 원소를 가리킬 수 있도록 증가될 수 있어야 한다.
2.2.2 출력 반복자(output iterators): 쓰기만 가능, 순방향 이동(only write)
2.2.3. 순방향 반복자(forward iterators): 읽기/쓰기 모두 가능, 순방향 이동
2.2.4. 양방향 반복자(bidirectional iterators): 읽기/쓰기 모두 가능, 순방향/역방향 이동
2.2.5. 임의 접근 반복자(random access iterators): 읽기/쓰기 모두 가능, 임의 접근
2.3 알고리즘
STL에서 제공되는, 검색이나 정렬 같은 활동을 수행하는 알고리즘은 대부분 반복자의 특정한 수준을 요구함.
2.4 함수자
STL은 함수 호출 연산자(operator())를 오버로드하는 클래스들을 포함한다. 이러한 클래스들의 인스턴스들은 함수자 또
참고: 위키백과