컴공생의 다이어리
[c++] STL(Standard Template Library) 본문
STL(Standard Template Library)
STL은 템플릿을 사용해서 만들어진 클래스와 함수들의 모임이다. 링크드 리스트 클래스, 동적 배열 클래스, 정렬 함수, 검색 함수 등 일반적으로 많이 사용하는 클래스와 함수들이 포함된다.
STL의 장점
개발자들 모두 동일한 코드를 사용한다는 점(표준)과 전문가들이 제작해 효율적이고 안전하다는 등의 장점이 있다.
STL 컨테이너
STL 컨테이너는 다수의 정보를 담는 역할을 하는 클래스이다. 자주 사용하는 STL의 컨테이너 클래스는 아래의 표와 같다.
클래스 | 내용 |
vector | 동적인 배열(동적으로 원소의 개수를 조절할 수 있는 배열) |
list | 링크드 리스트 |
deque | 배열과 링크드 리스트의 장점을 모아놓은 클래스 배열만큼 원소에 접근하는 시간이 빠른 동시에 맨 앞과 끝에 원소를 추가하고 제거하는 시간은 링크드 리스트만큼 빠름 |
map | 맵은 원소를 가리키는 인덱스까지도 다양한 타입을 사용할 수 있음 |
STL 알고리즘
STL에서 제공하는 함수들(정렬이나 검색과 같은 알고리즘을 구현해놓은 함수)을 의미한다. 자주 사용하는 STL의 알고리즘 함수는 아래와 같다.
함수 | 내용 |
find() | 선형 검색 알고리즘(순차 검색) |
replace() | 특정 값을 가진 원소를 찾아 다른 값으로 교체 |
reverse() | 원소들의 순서를 거꾸로 뒤집음 |
sort() | 오름차순으로 정렬 |
binary_search() | 이진 탐색 알고리즘 |
728x90
'Development > C & C++' 카테고리의 다른 글
[c++] auto 키워드 (0) | 2021.01.15 |
---|---|
[c++] 순차 자료 구조와 연결 자료 구조 (0) | 2021.01.13 |
[c++] 클래스 템플릿(Class Template) (0) | 2021.01.05 |
[c++] 템플릿(template) (0) | 2021.01.04 |
[c++] class 상속(private, protected, public) (0) | 2021.01.03 |
Comments