본문으로 바로가기

[C++] STL이란

category 프로그래밍/C++ 2021. 6. 2. 21:05
728x90
반응형

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은 사용하기가 쉽습니다.

구글링만 하더라도 정보가 많기 때문에 사용하기 좋습니다.

그러나 라이브러리기 때문에 라이브러리 자체에 이슈가 발생한다면, 이슈를 해결하기는 좀 복잡합니다.

이러한 것들을 잘 참고하여 사용하시기 바랍니다.

 

이상입니다.

728x90
반응형