표준 템플릿 라이브러리(STL: Standard Template Library)

표준 템플릿 라이브러리는 컨테이너(Container), 이터레이터(iterator), 함수 객체(Function object), 알고리즘(algorihm)을 나타내는 템플릿의 결합을 제공합니다.

컨테이너는 배열과 같이, 여러 개의 값을 저장할 수 있는 구성 단위입니다.

 

알고리즘은, 배열을 정렬하거나 리스트에서 특정 값을 검색하는 것과 같은, 특별한 작업들을 수행하기 위해 사용하는 방법입니다.

 

이터레이터는 배열 안에서 포인터를 사용하여 위치를 옮기듯이, 컨테이너 안에서 위치를 옮길 수 있도록 도와 주는 객체들입니다.(즉 이터레이터는 포인터의 일반화.)

 

함수 객체는 함수와 비슷한 역할을 하는 객체입니다. 함수 객체는 클래스 객체일 수도 있고, 함수 포인터일 수도 있습니다.

 

STL를 사용하여 배열, 큐, 리스트와 같은 다양한 컨테이너들을 생성할 수 있고, 검색,정렬 등 다양한 작업을 수행할 수 있게 해줍니다.

 

STL의 탄생 배경

STL은 Alex Stepanov와 Meng Lee가 1994년 휴렛팩커드연구소에서 그 구현을 발표 했습니다.

ISO/ANSI C++ 위원회는 표결을 거쳐 STL을 C++ 표준의 일부로 채택하였습니다.

STL는 객체 지향 프로그래밍의 한 예가 아니고 일반화 프로그래밍(generic programming)이라는 전혀 다른 프로그래밍 패러다임을 나타냅니다.

STL는 방대하기 때문에 따로 책이 있을 정도입니다.

댓글을 달아 주세요