STL

-> Standard Template Library의 약자

-> 표준에 등록된 클래스 템플릿의 집합

-> 자료구조 및 알고리즘 등 사용법이 다른 것을 획일화 시킨 것.

 

STL의 구성 요소

#1. 컨테이너

-> 메모리에 등록된 STL이다.

-> 여러 컨테이너 중 대표적인 것 3가지

 

컨테이너 구분 기준

메모리 등록 방법

#1. 표준 시퀀스 컨테이너(선형적)

-> vector, list

 

#2. 표준 연관 컨테이너(비 선형적)

-> 일렬로 줄 지을 수 없는 방법

-> 대표적으로 트리 구조가 있음.

-> map

 

원소 저장 방법

#1. 배열 기반

-> 배열에 원소를 저장

-> vector

 

#2. 노드 기반

-> 메모리 여기저기 저장하면서 포인터로 연결해 놓는 구조

-> list, map

-> C#에서는 list가 배열 기반 형태로 되어있고, C++에서는 노드 기반으로 되어있다.

 

#2. 알고리즘

-> 대부분의 알고리즘은 전역으로 구성되어 있다.

-> 정렬, 탐색 등 획일화 하기 위해 각 컨테이너의 멤버가 아닌 전역으로 정의되어있다.

 

#3. 반복자

-> 컨테이너를 순회하는데 동일한 방법으로 순회할 수 있도록 만들어 놓았다.

-> STL의 핵심이라고 할 수 있따.

-> 각 컨테이너의 멤버로 정의되어 있다.

 

#4. 함수 객체

-> 말 그대로 함수를 객체처럼 사용하는 것이다.

 

+ Recent posts