언어/Basic C++

[Basic C++] #32-1_STL 알고리즘

Hardii2 2022. 6. 4. 19:27

 

[Basic C++] #32-1_STL알고리즘

 

C++ 개발에서 표준 라이브러리(STL)에 대해 알아보겠습니다.

"전문가를 위한 C"의 15 항목, "C++ 표준 라이브러리 살펴보기"에 해당하는 내용입니다.

 


Overview

 

  1. 개념
  2. 코드

 

#0. 개념

1. STL 알고리즘?

  • C++의 STL은 몇 가지 제네릭 알고리즘을 제공합니다.
  • 이 알고리즘들은 "템플릿"으로 구현되어 대부분이 범용적으로 사용 가능합니다.
  • 따라서, 우리는 STL 컨테이너에(vector, set, map etc) 적용할 수 있습니다.

 

2. 반복자?

  • 반복자는 C++ 프로그램의 서로 다른 데이터 구조를 균일한 방식으로 처리하기 위한 일반화 포인터입니다.

 

#1. 코드
#include <iterator>	// itrator 헤더가 필요합니다.

1. begin()	// 첫 번째 항목을 가리키는 순방향 반복자를 리턴합니다.
2. end()	// 마지막 항목 직후를 가리키는 순방향 반복자를 리턴합니다.

3. cbegin()	// 첫 번째 항목을 가리키는 const 타입 순방향 반복자를 리턴합니다.
4. cend()	// 마지막 항목 직후를 가리키는 const 타입 순방향 반복자를 리턴합니다.

5. rbegin()	// 첫 번째 항목을 가리키는 역방향 반복자를 리턴합니다.
6. rend()	// 마지막 항목 직후를 가리키는 역방향 반복자를 리턴합니다.

7. crbegin()	// 첫 번째 항목을 가리키는 const 타입 역방향 반복자를 리턴합니다.
8. crend()	// 마지막 항목 직후를 가리키는 const 타입 역방향 반복자를 리턴합니다.