STL의 정의
STL은 Standard Template Library의 약자로, C++ 프로그래밍 언어에서 사용되는 표준 라이브러리.
다양한 유용한 데이터 구조와 알고리즘을 제공하여 개발자의 작업을 간편하게 만들어 준다.
크게 컨테이너(container), 반복자(iterator), 알고리즘(algorithm)으로 나눠진다.
STL : 컨테이너
자료를 저장하는 클래스 템플릿들의 집합.
크게 3가지 종류로 나눌 수 있다.
- sequence container : 데이터를 선형으로 저장.
- vector, deque, list, forward_list
- associative container : 키와 값으로 관련있는 데이터를 저장
- set, multiset, map, multimap
- adapter container : 인터페이스를 제한한 sequence, associative 컨테이너의 변형
- iterator를 지원하지 않는다.
- stack, queue, priority_queue
STL : 반복자
iterator라고도 하며, 컨테이너 원소를 순회하는 방법을 추상화한 객체를 뜻함.
반복자를 이용해 STL 내부의 자료에 접근하는 방법을 표준화할 수 있음.
STL : 알고리즘
정렬, 삭제, 검색, 연산 등의 활동을 정의한 함수 템플릿.