C++ STL
Intro
- STL
STL 이란?
-
표준 C++ 라이브러리(Standard Template Library)
-
프로그램에 필요한 자료구조와 알고리즘을 Template로 제공하는 라이브러리
STL 구성요소
1 - Container
객체를 저장하는 객체, 자료구조 클래스 템플릿으로 구현되어있다.
컨테이너의 종류
1) Sequence Container
자료를 입력한 순서대로 저장한다. (검색, 삽입, 삭제가 느리다)
종류 : Array(C++ 11), Vector, List, Deque
2) Associative Container
트리 구조로 이루어져 있다. (검색, 삽입, 삭제가 빠르다)
종류 : Set, Multiset, Map, Multimap
3) Container Adaptor
시퀀스 컨테이너를 변형하여 사용한다.
종류 : Stack, Queue, Priority Queue
2 - Iterator
포인터와 비슷한 개념으로 컨테이너의 원소를 가리키고, 원소에 접근하여 다음 원소를 가리키는 기능(반복자)
3 - Algorithm
정렬, 삭제 ,검색 , 연산등을 해결하는 방법을 제공하는 함수 템플릿
4 - Funtion Object
함수처럼 동작하는 객체로 operator() 연산자를 오버로딩 한 객체
컨테이너와 알고리즘 등에 클라이언트 정책을 반영하게 한다.
5 - Allocator
컨테이너의 메모리 할당 정책을 캡슐화한 클래스 객체로 모든 컨테이너는 자신만의 할당기를 가지고 있다.
댓글남기기