STL이란 자료 구조와 알고리즘을 템플릿으로 제공하는 C++ 표준 라이브러리로써, Standard Template Library의 약자입니다.


STL의 주요 구성 요소는 컨테이너, 할당기, 반복자, 어댑터, 알고리즘, 함수 객체로 이뤄져 있으며, 컨테이너, 알고리즘, 반복자가 가장 중요한 세 요소입니다.


STL의 특징으로는 이름과 같이 일반화를 지원한다는 것과 광범위하게 이곳저곳에 두루두루 재사용 될 수 있다는 것입니다. 그 와중에도 (적재적소 사용시)효율은 떨어지지 않으며 표준이므로 이식성에도 좋고 다양한 자료구조와 알고리즘을 최적화하여 사용자가 쓰기 좋게 만들어 놓았으며 해당 알고리즘이 내부적으로 어떻게 동작하는지 몰라도 사용할 수 있는 특징들이 있습니다.


STL의 단점으로는 템플릿에 기반 하기 때문에 타입마다 함수와 클래스가  매번 구체화 되어 코드가 비대해 지며 템플릿 클래스의 타입명이 길어 재빠른 의미 파악이 힘듭니다.


STL을 사용하는 이유는 특징에도 적혀 있듯이 이곳저곳 광범위하게 재사용이 가능하며 검증된 코드의 사용으로 시간을 절약할 수 있고 목적에 맞게 잘만 사용한다면 효율도 좋기 때문입니다.

+ Recent posts