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 , , atexit at_quick_exit , exit quick_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++ 라이브러리 헤더에는 광범위한 두 개의 하위 영역이 있습니다.
iostreams 규칙입니다.
C++ STL(표준 라이브러리) 참조 규칙입니다.
이 섹션에는 다음 섹션이 포함되어 있습니다.
Visual C++ 런타임 라이브러리에 대한 자세한 내용은 CRT 라이브러리 기능을 참조하세요.
참고 항목
Microsoft의 C++ 표준 라이브러리 구현을 STL 또는 표준 템플릿 라이브러리라고도 합니다. C++ 표준 라이브러리는 ISO 14882에 정의된 대로 라이브러리의 공식 이름이지만 검색 엔진에서 "STL" 및 "표준 템플릿 라이브러리"가 널리 사용되기 때문에 이러한 이름을 사용하여 설명서를 더 쉽게 찾을 수 있습니다. 역사적 관점에서, "STL"원래 알렉산더 스테파노프에 의해 작성 된 표준 템플릿 라이브러리를 참조. 해당 라이브러리의 일부는 ISO C 런타임 라이브러리, Boost 라이브러리의 일부 및 기타 기능과 함께 C++ 표준 라이브러리에서 표준화되었습니다. 때때로 "STL"은 Stepanov의 STL에서 조정된 C++ 표준 라이브러리의 컨테이너 및 알고리즘 부분을 참조하는 데도 사용됩니다. 이 설명서에서 STL(표준 템플릿 라이브러리)은 C++ 표준 라이브러리 전체를 참조합니다.