[STL] STL이란?

Date :   Updated :

STL이란?

STL은 그냥 “C++에서 쓰는 컨테이너들 묶음”이 아니라, C++ 템플릿 철학을 관통하는 라이브러리 구조이다.

STL에 대해서는 그 동안 그냥 C++에서 자주 쓰이는 자료구조들을 쓰기 쉽도록 리팩토링하고 제공하는 라이브러리라고 알고 있었다. 하지만 더 알아보니 생각보다 심오한 구조인 것 같다. 그래서 따로 정리해 두면 좋을까 싶어 포스팅을 만들기로 했다.

정의

STL을 간단히 정의하자면 다음과 같다.

C++에서 템플릿 기반의 컨테이너 + 반복자 + 알고리즘 + 함수 객체들을 모아둔 표준 라이브러리 체계.

이를 좀 더 알기 쉽게 표현하자면,

  • 템플릿을 이용해서 자료형에 상관없이 재사용할 수 있게 만들어진 라이브러리.
  • 예 : std::vector<int>, std::sort, std::map, std::function

이라고 할 수 있다.

Comments