열렬히.뛰기

STL이란?

Language > 프로그래밍 언어 > C++ > Cpp : STL > STL이란?

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 : 알고리즘

정렬, 삭제, 검색, 연산 등의 활동을 정의한 함수 템플릿.