Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++ 표준 템플릿 라이브러리(STL)


표준 템플릿 라이브러리는 C++ 표준 라이브러리의 여러 부분에 영향을 준 C++ 프로그래밍 언어용 소프트웨어 라이브러리입니다. 알고리즘, 컨테이너, 함수 및 반복자라는 네 가지 구성 요소를 제공합니다. "STL" 또는 "표준 템플릿 라이브러리"라는 용어는 ISO 14882 C++ 표준 어디에도 표시되지 않습니다. 따라서 C++ 표준 라이브러리를 STL로 지칭하는 것은 잘못된 것입니다. 즉, STL과 C++ 표준 라이브러리는 전자가 후자의 하위 집합인 두 가지 다른 것입니다.

STL은 다음으로 구성됩니다. -

컨테이너

STL에는 시퀀스 컨테이너와 연관 컨테이너가 포함됩니다. 컨테이너는 데이터를 저장하는 객체입니다. 표준 시퀀스 컨테이너에는 vector, deque 및 list가 포함됩니다. 표준 연관 컨테이너는 set, multiset, map, multimap, hash_set, hash_map, hash_multiset 및 hash_multimap입니다. 다른 컨테이너를 구현으로 사용하는 특정 인터페이스의 컨테이너인 컨테이너 어댑터 대기열, priority_queue 및 스택도 있습니다.

반복자

반복자는 프로그래머가 컨테이너를 탐색할 수 있도록 하는 개체입니다. STL은 입력(값 시퀀스를 읽는 데 사용), 출력(값 시퀀스를 쓰는 데 사용), 앞으로(읽고, 쓰고, 앞으로 이동할 수 있음), 양방향(forward와 같은) 다섯 가지 유형의 반복자를 구현합니다. 반복자이지만 뒤로 이동할 수도 있음) 및 임의 액세스(한 작업에서 원하는 수의 단계로 자유롭게 이동). 반복자는 STL의 일반성을 허용하는 주요 기능입니다.

알고리즘

STL의 알고리즘은 요소 범위에서 사용하도록 특별히 설계된 기능 모음입니다. 범위는 배열 또는 일부 STL 컨테이너의 인스턴스와 같이 반복자 또는 포인터를 통해 액세스할 수 있는 개체의 시퀀스입니다. STL의 알고리즘 예:sort(범위 내 요소 정렬), binary_search(값이 정렬된 순서로 존재하는지 테스트), min_element(범위 내 가장 작은 요소 반환) 등 이러한 모든 알고리즘은 허용되는 모든 데이터 유형에 적용될 수 있습니다. 템플릿으로.