standard template library
표준 템플릿 라이브러리 (STL)의 전체 개요 :
C ++의 표준 템플릿 라이브러리 (STL)는 배열, 벡터, 큐 등과 같은 데이터 구조를 제공하는 템플릿 클래스 모음입니다. STL은 컨테이너, 알고리즘 및 반복자로 구성된 라이브러리입니다.
STL은 템플릿 클래스 모음으로 구성되어 있으므로 데이터 유형에 독립적 인 일반화 된 라이브러리입니다.
=> 여기에서 광범위한 C ++ 교육 자습서 시리즈를 읽어보십시오.
학습 내용 :
테스트 케이스와 테스트 스크립트의 차이점
STL의 구성 요소
STL은 주로 아래에 언급 된 다음 구성 요소로 구성됩니다.
# 1) 컨테이너
컨테이너는 특정 데이터 구조 유형의 개체 모음입니다. STL에는 Array, vector, queue, deque, list, map, set 등과 같은 다양한 유형의 컨테이너 클래스가 있습니다. 이러한 컨테이너는 본질적으로 일반적이며 클래스 템플릿으로 구현됩니다.
컨테이너는 본질적으로 동적이며 다양한 유형의 개체를 보관하는 데 사용할 수 있습니다.
# 2) 알고리즘
알고리즘은 컨테이너에서 작동하는 메서드 또는 함수입니다. STL에서 제공하는 알고리즘을 사용하여 컨테이너 클래스 객체의 내용을 검색, 정렬, 수정, 변환 또는 초기화하는 방법을 가질 수 있습니다.
STL에서 제공하는 알고리즘에는 알고리즘을 직접 작성하지 않고도 복잡한 데이터 구조에서 직접 작동 할 수있는 내장 함수가 있습니다.
예를 들어 STL의 reverse () 함수를 사용하여 연결 목록을 반전시킬 수 있습니다.
# 3) 반복자
반복자는 STL의 매우 중요하고 구별되는 기능입니다. 반복기는 컨테이너 개체를 통과하는 데 사용되는 구성입니다. 배열을 단계별로 실행하는 데 사용하는 인덱스와 유사하게 반복기는 컨테이너 클래스 개체에 대해 작동하며 데이터를 단계별로 실행하는 데 사용할 수 있습니다.
컨테이너
컨테이너는 개체와 데이터를 저장합니다. 기본적으로 템플릿 기반 제네릭 클래스입니다.
STL의 컨테이너는 다음 유형으로 나뉩니다.
# 1) 순차 컨테이너
순차 또는 선형 방식으로 액세스 할 수있는 컨테이너를 순차 컨테이너라고합니다.
배열, 벡터, 목록, Deques는 데이터를 선형 적으로 저장하고 순차적으로 액세스 할 수있는 STL 컨테이너입니다.
# 2) 연관 컨테이너
연관 컨테이너는 정렬 된 데이터 구조를 구현하는 컨테이너입니다. 이러한 컨테이너는 검색이 빠릅니다. 일부 예 연관 컨테이너의 수는 Map, Set, MultiMap, Multiset 등입니다. 이러한 컨테이너는 일반적으로 키 / 값 쌍 방식으로 구현됩니다.
# 3) 컨테이너 채택 자
컨테이너 채택자는 순차적 컨테이너이지만 다른 인터페이스를 제공하여 구현됩니다. 따라서 queue, deque, stack 및 priority-queue와 같은 컨테이너는 모두 컨테이너 채택 자로 분류됩니다.
반복자
반복자는 STL의 컨테이너를 통과하거나 단계별로 이동하는 데 사용하는 구성입니다. 반복자는 알고리즘과 컨테이너 사이의 다리 역할을하기 때문에 STL에서 매우 중요합니다. 반복기는 항상 컨테이너를 가리키고 실제로 알고리즘은 실제로 반복기에서 작동하며 컨테이너에서 직접 작동하지 않습니다.
반복자는 다음과 같은 유형입니다.
- 입력 반복자 : 가장 간단하며 주로 단일 패스 알고리즘에서 사용됩니다.
- 출력 반복기 : 입력 반복기와 동일하지만 순회에 사용되지 않습니다.
- 양방향 반복기 : 이러한 반복기는 양방향으로 이동할 수 있습니다.
- 순방향 반복자 : 한 번에 한 단계 씩 정방향으로 만 사용할 수 있습니다.
- 랜덤 액세스 반복기 : 포인터와 동일합니다. 임의의 요소에 액세스하는 데 사용할 수 있습니다.
알고리즘
알고리즘은 컨테이너에서 작동하는 STL에서 제공하는 함수 또는 메서드의 집합입니다. 이들은 내장 함수이며 자체 알고리즘을 작성하는 대신 STL 컨테이너 및 반복기와 함께 직접 사용할 수 있습니다.
STL은 다음 유형의 알고리즘을 지원합니다.
- 알고리즘 검색
- 알고리즘 정렬
- 알고리즘 수정 또는 조작
- 비 수정 알고리즘
- 숫자 알고리즘
- 최소 / 최대 알고리즘
각 알고리즘 유형에서 알 수 있듯이 이러한 알고리즘은 검색, 정렬, 컨테이너의 데이터 변환, 최소 / 최대 값 찾기 등과 같은 STL 컨테이너에서 다양한 기능을 달성하는 데 사용할 수 있습니다.
BIOS 창 10을 플래시하는 방법
결론
표준 템플릿 라이브러리에 대한 간략한 소개입니다. 다음 자습서에서는 각 컨테이너, 알고리즘 및 반복기에 대해 자세히 알아볼 것입니다.
=> 여기에서 완전한 C ++ 무료 교육 시리즈를 확인하십시오.