본 내용은 뇌를 자극하는 C++ STL을 참고 했습니다.

 

STL이란?

표준 C++ 라이브러리의 일부분으로 standard Template Library의 약자입니다. STL은 프로그램에 필요한 자료구조와 알고리즘을 템플릿으로 제공하는 라이브러리입니다. 또 한, 자료구조와 알고리즘은 서로 반복자라는 구성 요소를 통해 연결합니다.

 

다음은 STL의 구성 요소입니다.

ㅁ컨테이너(Container) : 객체를 저장하는 객체로 컬렉션 혹은 자료구조라고도 합니다.

 

ㅁ반복자(Iterator) : 포인터와 비슷한 개념으로 컨테이너의 원소를 가리키고, 가리키는 원소에 접근하여 다음 원소를 가리키게 하는 기능을 합니다.

 

ㅁ알고리즘(Algorithm) : 정렬, 삭제, 검색, 연산 등을 해결하는 일반화된 방법을 제공하는 함수 템플릿입니다.

 

ㅁ함수 객체(Function Object) : 함수처럼 동작하는 객체로 operator() 연산자를 오버로딩한 객체입니다. 컨테이너와 알고리즘 등에 클라이언트 정책을 반영하게 합니다.

 

ㅁ어댑터(Adaptor) : 구성 요소의 인터페이스를 변경해 새로운 인터페이스를 갖는 구성요소로 변경합니다.(새로운 구성 요소처럼 보입니다.)

 

ㅁ할당기(Allocator) : 컨테이너의 메모리 할당 정책을 캡슐화한 클래스 객체로 모든 컨테이너는 자신만의 기본 할당기를 가지고 있습니다. 프로그램 대부분은 STL에서 제공하는 기본 할당기만으로 충분하므로 자세히 다루지 않습니다(자세한 내용은 참고 문헌을 참고하기 바랍니다.)

 

[그림 5-1]은 STL의 주요 구성 요소인 컨테이너, 반복자, 알고리즘, 함수 객체를 그림으로 나타낸 것입니다.

STL의 세 가지 특징은 효율성과 일반화 프로그램(재사용성), 확장성입니다. STL은 이 세 특징에 중점을 두고 개발된 라이브러리입니다. 그래서 STL 알고리즘은 너무나도 일반적입니다.

 


WRITTEN BY
커피김스타
게임 기획, 개발, 프로그래밍, 그래픽, zbrush, 원화, 캐릭터 등등 다양한 정보공유

,