C++을 좀 써보신 분들이라면 STL은 한번쯤 들어보셨을겁니다.
STL은 C++ 언어의 Standard Template Library인 표준 템플릿 라이브러리 입니다.
STL은 C++의 미리 만들어진 일반 클래스들을 제공합니다.
많이 사용되는 자료구조와 알고리즘을 모아둔 라이브러리기 때문에, STL을 사용한다면 복잡한 자료구조와 알고리즘을 바로 호출해서 사용할 수 있습니다.
STL은 크게 컨테이너, 반복자, 알고리즘으로 나뉩니다.
1) 컨테이너
임의의 타입의 객체를 보관할 수 있습니다.
자료구조라고도 하며, 클래스 템플릿으로 구현되어 있습니다.
크레는 sequence 컨테이너와 associative 컨테이너로 나눌 수 있습니다.
Sequence 컨테이너 : vector, list, deque, stack, queue, array 등
Associative 컨테이너 : set, multiset, map, mutlimap, hash_set 등
2) 반복자
컨테이너에 보관된 원소에 접근할 수 있습니다.
C의 포인터와 비슷한 개념이라고 생각할 수 있습니다.
컨테이너의 특정 원소를 가리키고, 원소에 접근합니다.
그리고 연결된 다른 원소를 가리키며 반복, 순회합니다.
3) 알고리즘
반복자들을 가지고 일련의 작업을 수행합니다.
기본적인 정렬, 삭제, 검색 등의 연산이 제공됩니다.
C++을 해본사람들은 알겠지만, STL은 사용하기가 쉽습니다.
구글링만 하더라도 정보가 많기 때문에 사용하기 좋습니다.
그러나 라이브러리기 때문에 라이브러리 자체에 이슈가 발생한다면, 이슈를 해결하기는 좀 복잡합니다.
이러한 것들을 잘 참고하여 사용하시기 바랍니다.
이상입니다.
'프로그래밍 > C++' 카테고리의 다른 글
[C++]C++의 용어 정의와 파일 분할 (0) | 2017.06.16 |
---|---|
[C++]C++의 구조체와 Class (0) | 2017.04.20 |
[C++]new 와 delete, 그리고 C++의 헤더파일 (0) | 2017.04.17 |
[C++]참조자(reference) 3 (0) | 2017.04.11 |
[C++]참조자(reference) 2 (0) | 2017.04.09 |