그냥 게임개발자

STL이란? 본문

C++ 나만의 복습

STL이란?

sudoju 2024. 3. 31. 16:35

C++은 STL(Standard Template Library)을 제공하는 자료구조, 함수 등을 제공하는 라이브러리를 뜻한다.

알고리즘, 컨테이너, 이터레이터, 펑터 이렇게 4가지를 제공한단다.

 

알컨이펑

 

우리가 C++로 vector라는 자료구조를 쓴다던가 sort()함수를 쓸 수 있는 것은 다 STL 덕분이다.

C++ 장점 중 하나다.

 

근데 라이브러리 알고 있어도 까먹는다 구글링하자

진짜 vector map 이런거밖에 기억 안남

 

 

구글링해서 여기 왔으면 친히 알려주겠다.

 

알고리즘

- 정렬, 탐색 등에 관한 함수로 이루어져 있다.

- sort()가 대표적이다.

 

컨테이너

컨테이너는 여러가지 의미로 쓰인다.

여기서 컨테이너는 C++에서 제공하는 자료구조를 의미한다.

 

시퀀스 컨테이너

  • 데이터를 단순히 저장해 놓는 자료구조
  • array, vector, deque, forward_list, list

 

연관 컨테이너

  • 자료가 저장됨에 따라 자동정렬이 되는 자료구조
    중복키가 가능한 것은 이름에 multi가 붙는다.
  • set, map, multiset, multimap

 

정렬되지 않은 연관 컨테이너

  • 자료가 저장됨에 따라 자동정렬이 되지 않는 자료구조
  • unordered_set, unordered_map, unordered_multiset, unordered_multimap

 

컨테이너 어댑터

  • 시퀀스 컨테이너를 이용해 만든 자료구조
  • stack, queue(queue는 deque로 만들어져 있음), priority_queue(vector를 이용해 힙 자료구조로 만듬)

 

이터레이터

  • 이터레이터는 추후에 하나의 포스트로 조금 길게 작성할 예정

 

펑터

  • 함수 호출연산자를 오버로드 하는 클래스의 인스턴스
  • 추후에 따로 포스트 할 예정

'C++ 나만의 복습' 카테고리의 다른 글

출력  (0) 2024.03.31
입력  (0) 2024.03.31
define이란?  (0) 2024.03.31
typedef이란?  (0) 2024.03.31
C++이 코딩테스트 언어로 좋은 점  (0) 2024.03.31