본문 바로가기

Program Languege/STL

STL - Standard Template Library

STL - standard Template Library

 

 일반화의 개념에 의해 자주 사용되는 자료구조와 알고리즘을 제공하는 라이브러리가 바로 STL이다. 템플릿의 집합을 제공하는 라이브러리이며 현재 C++의 표준으로 채택되어 있다.

 

 1979년경 알렉산더 스테파노프(Alexander Stepanov)한 사람에 의해 창안되었다. 이 시기는 스트로스트룹이 C++의 초기 디자인을 한 시점과 거의 일치한다. C++과 STL은 최초 따로 탄생했고 각자의 길을 걸어가다가 90년대중반에 비로소 하나로 통합되었다. 스테파노프는 최초 Ada로 STL의 원형을 작성하였는데 Ada는 일반화 프로그래밍을 위한 적절한 특징들을 많이 가지고 있었다. 그러나 Ada 자체가 대중의 인기를 얻지 못하고 C++이라는 더 적합한 언어가 발표됨에 따라 C++로 개발 언어를 변경했다. 스테파노프가 STL을 발전시키는 동안 C++은 템플릿을 언어의 일부로 지원하기 시작했다.

 94년 7월 ANSI/ISO의 최종 승인을 거쳐 국제 표준이 되었으며 98년 C++ 표준인 14882의 일부로 채택됨으로써 C++ 라이브러리의 근간을 이루게 되었다. 표준 채택 이전에도 각 컴파일러 제작사들은 STL을 자사 라이브러리의 일부로 이미 제공하고 있었으며 실제 프로젝트에서도 활용되었다. 현재는 국제 표준으로 그 구조가 통일됨으로써 호환성과 이식성을 걱정할 필요없이 마음놓고 STL을 사용할 수 있다.

 

 

 가장 큰 특징은 일반화를 지원한다는 점이며 빠르다는 장점이 있다. 단점은 안정성이 떨어진다는 것과 배우기가 어려우며 가독성이 떨어진다는 것이다.

 

 

 현재 많은 개발자가 사용을 하고 있으며 사용에 있어 익숙해질 필요가 있다.

 

 

 

출처 - 혼자 연구하는 C/C++

'Program Languege > STL' 카테고리의 다른 글

set 함수  (0) 2014.03.19
list 함수  (0) 2014.03.19
vector 함수  (0) 2014.03.19
반복자(iterator)  (0) 2014.03.19
컨테이너(Container)  (0) 2014.03.18