C++ STL(표준 라이브러리) 개요

모든 C++ 라이브러리 엔터티가 하나 이상의 표준 헤더에서 선언되거나 정의됩니다. 이 구현에는 C++ 표준에 <hash_map><hash_set>필요하지 않은 두 개의 다른 헤더가 포함됩니다. 이 구현에서 지원하는 헤더의 전체 목록은 헤더 파일 참조를 참조하세요.

C++ 표준은 두 종류의 준수 라이브러리를 정의합니다.

  • C++ ISO 표준에서 설명하는 모든 필수 표준 라이브러리 헤더를 지원하는 호스트된 구현입니다.
  • 표준 라이브러리 헤더의 하위 집합만 필요한 독립형 구현입니다. 필요한 하위 집합은 다음과 같습니다.
독립형 헤더 하위 집합
<atomic> (최소한 atomic_signed_lock_free 선언 및 atomic_unsigned_lock_free) <cstdint> <ranges>
<bit> <cstdlib>(적어도 abort, , atexitat_quick_exit, exitquick_exit) 선언 <ratio>
<cfloat> <exception> <tuple>
<climits> <functional> <typeinfo>
<compare> <initializer_list> <source_location>
<concepts> <iterator> <type_traits>
<coroutine> <limits> <utility>
<cstdarg> <memory> <version>
<cstddef> <new>

C++11 <ciso646><cstdalign><cstdbool>이후 다음 헤더는 더 이상 사용되지 않습니다.

독립 실행형 구현과 호스트된 구현 간의 다른 차이점은 다음과 같습니다.

  • 호스트된 구현에는 이름이 인 main전역 함수가 필요합니다. 독립형 구현은 자체 시작 및 종료 함수를 정의할 수 있습니다.
  • 호스트된 구현은 동시에 실행되는 둘 이상의 스레드를 지원해야 합니다. 독립형 구현의 구현자는 라이브러리가 동시 스레드를 지원하는지 여부를 결정합니다.

Microsoft C++ 표준 라이브러리는 독립형 및 호스트된 요구 사항을 모두 충족합니다.

C++ 라이브러리 헤더에는 광범위한 두 개의 하위 영역이 있습니다.

이 섹션에는 다음 섹션이 포함되어 있습니다.

Visual C++ 런타임 라이브러리에 대한 자세한 내용은 CRT 라이브러리 기능을 참조하세요.

참고 항목

Microsoft의 C++ 표준 라이브러리 구현을 STL 또는 표준 템플릿 라이브러리라고도 합니다. C++ 표준 라이브러리는 ISO 14882에 정의된 대로 라이브러리의 공식 이름이지만 검색 엔진에서 "STL" 및 "표준 템플릿 라이브러리"가 널리 사용되기 때문에 이러한 이름을 사용하여 설명서를 더 쉽게 찾을 수 있습니다. 역사적 관점에서, "STL"원래 알렉산더 스테파노프에 의해 작성 된 표준 템플릿 라이브러리를 참조. 해당 라이브러리의 일부는 ISO C 런타임 라이브러리, Boost 라이브러리의 일부 및 기타 기능과 함께 C++ 표준 라이브러리에서 표준화되었습니다. 때때로 "STL"은 Stepanov의 STL에서 조정된 C++ 표준 라이브러리의 컨테이너 및 알고리즘 부분을 참조하는 데도 사용됩니다. 이 설명서에서 STL(표준 템플릿 라이브러리)은 C++ 표준 라이브러리 전체를 참조합니다.

참고 항목

C++ 표준 라이브러리