STL, coding block

김보현·2025년 2월 25일
0

DataStructure

목록 보기
1/1

Container class templates

Sequenece containers

array: Array class
vector: Vector
deque: Double ended queue
forward_list: Forward list
list: List

Container adaptors

stack: LIFO stack
queue: FIFO stack
priority_queue: Priority queue

Associative containers

set: Set
multiset: Multiple-key set
map: Map
multimap: Multiple-key map

Unordered associative containers

unordered_set: Unordered Set
unordered_multiset: Unordered Multiset
unordered_map: Unordered Map
unordered_multimap: Unordered Multimap

Iterator

포인터와 비슷한 개념으로 컨테이너의 원소를 가리킨다.
가리킨 원소에 접근해서 다음 원소를 가리키는 기능을 수행한다.
Traversal(순회)이 가능하게 한다.

Algorithm

정렬, 삭제, 검색, 연산을 실행하는 일반화(generic)된 함수 템플릿

Function Object

함수처럼 동작하는 객체로 operator() 연산자를 오버로딩 한 객체를 의미한다.

Container Adaptor

객체의 인터페이스를 수정해서 새로운 인터페이스를 제공하는 요소로 변경.

Container Adaptor = { stack, queue, priority_queue }
어떤 경우엔 일반적인 container로 분류하기도 함.

Allocator

컨테이너의 메모리 할당을 담당하는 객체
모든 컨테이너는 각 객체별 전용 할당기를 가지고 있음.

Template와 Generic programming

한 함수를 “어떤 타입 T”에 대해서도 동작하도록 일반화
예: getmax(x, y), getmax(d1, d2), getmax(s1, s2)
사용자가 정의한 타입(복소수, 행렬 등)에 대해서도 연산자 오버로드를 통해 활용 가능.
Class Template vs Function Template
Class Template: template <typename T1, typename T2>로 pair, vector 등
Function Template: template T getmax(T x, T y) {...}

profile
Fall in love with Computer Vision

0개의 댓글