유틸리티 (Utility)
유틸리티 라이브러리는 여러 문맥에 두루 활용할 수 있는 범용 기능을 모아둔 라이브러리이다.
종류
| 함수 |
설명 |
| std:: function |
bind 로 만든 함수를 나중에 호출하기 위해 변수에 바인딩하기 위해 사용된다. |
| std:: bind |
기존 함수를 토대로 새로운 함수를 쉽게 만들 수 있다. |
| std:pair |
임의의 길이로 된 이형(heterogeneous) |
| std::tuple |
페어를 일반화 |
| std:ref |
변수에 대한 레퍼런스 래퍼 오브젝트 |
| std:cref |
const 레퍼런스 |
| std::unique_ptr |
스마트 포인터, 단독 소유권 |
| std::shared_ptr |
스마트 포인터, 공유 소유권 |
STL 구성요소
- 컨테이너(Container)
- 알고리즘(Algorithm) (약 100가지의 알고리즘을 제공)
- 반복자(Iterator)
컨테이너(Container)
순차 컨테이너( Sequential Container)
| 함수명 |
설명 |
| std::vector |
원소를 맨뒤에 추가하는 구조 |
| std::deque |
원소를 맨 앞에도 추가할 수 있는 구조 |
| std::list |
이중 연결 리스트 |
| std::forawrd_list |
단일 연결 리스트 |
연관 컨테이너(ordered associative container)
| 함수명 |
정렬 여부 |
설명 |
| std::set |
정렬 |
키에 연관된 값이 없음 |
| std::map |
정렬 |
키를 기준으로 정렬하는 형태 (95%는 이것을 사용한다.) |
| std::multiset |
정렬 |
키가 중복될 수 있음 |
| std::mutimap |
정렬 |
|
| std::unordered_set |
비정렬 |
|
| std::unordered_map |
비정렬 |
|
| std:unordered_multiset |
비정렬 |
|
| std::unordered_multimap |
비정렬 |
|