C++ 표준 라이브러리는 다양한 유형의 라이브러리로 구성됩니다. 다음은 그 아래에 라이브러리가 있는 이러한 모든 유형의 목록입니다.
유틸리티 라이브러리
− 프로그램 제어, 동적 메모리 할당, 난수, 정렬 및 검색과 같은 범용 유틸리티
−신호 관리를 위한 함수 및 매크로 상수(예:SIGINT 등)
−실행 컨텍스트에 저장(및 점프)하는 매크로(및 함수)
− 가변 길이 인수 목록 처리
− 런타임 유형 정보 유틸리티
- std::bitset의 클래스 템플릿
<기능적> − 함수 개체, 함수 호출, 바인딩 작업 및 참조 래퍼
<유틸리티> − 다양한 유틸리티 구성 요소
− C 스타일 시간/날짜 유틸리티
- 표준 매크로 및 typedef
(C++11 이후) − 연관 컨테이너 및 정렬되지 않은 연관 컨테이너에서 인덱스로 사용할 수 있는 type_info 개체 주위의 래퍼
(C++11 이후) − 컴파일 시간 유형 정보
<크로노>(C++11부터) − C++ 시간 유틸리티
(C++11부터) - const T 유형의 객체 배열에 대한 액세스를 제공하는 경량 프록시 객체를 정의하는 라이브러리입니다.
(C++11부터) - 이기종 값의 고정 크기 컬렉션을 정의하는 라이브러리. std::pair의 일반화입니다.
(C++17부터) − any 클래스는 모든 유형의 단일 값에 대한 유형 안전 컨테이너를 설명합니다.
<선택 사항>(C++17부터) − 클래스 템플릿 std::optional은 선택적으로 포함된 값, 즉 존재하거나 없을 수 있는 값을 관리합니다.
<변형>(C++17부터) − 클래스 템플릿 std::variant는 유형 안전 합집합을 나타냅니다. 주어진 시간에 std::variant의 인스턴스는 대체 유형 중 하나의 값을 보유하거나 오류의 경우 값이 없습니다.
<비교>(C++20부터) − 3방향 비교 연산자 지원
동적 메모리 관리
<신규> − 저수준 메모리 관리 유틸리티. new-expression은 동적 저장 기간, 즉 생성된 범위에 제한되지 않는 수명으로 객체 또는 객체 배열을 생성하는 유일한 방법입니다.
<메모리> − 상위 수준의 메모리 관리 유틸리티
(C++11부터) − std::scoped_allocator_adaptor 클래스 템플릿은 다중 레벨 컨테이너(지도의 튜플 목록 집합의 벡터 등)와 함께 사용할 수 있는 할당자입니다.
(C++17부터) − std::pmr::memory_resource 클래스는 메모리 리소스를 캡슐화하는 무제한 클래스 집합에 대한 추상 인터페이스입니다.
숫자 제한
<한계> -적분 유형의 한계
- float 유형의 한계
<한도> -산술 유형의 속성을 쿼리하는 표준화된 방법
(C++11부터) - 고정 크기 유형 및 기타 유형의 제한
(C++11부터) − C 바이트 및 와이드 문자열에서 std::intmax_t 및 std::uintmax_t로의 변환을 제공하고 std::intmax_t에 대한 일부 수학 함수를 오버로드하고 에 선언된 유형에 대해 C 스타일 입/출력 형식 매크로를 제공합니다.
오류 처리
<예외> − 예외 처리 유틸리티
−표준 예외 개체
<카서트> −인수를 0과 비교하는 조건부로 컴파일된 매크로
−마지막 오류 번호를 포함하는 매크로
(C++11 이후) −std::error_code는 플랫폼 종속 오류 코드입니다. 각 std::error_code 개체는 운영 체제 또는 일부 하위 수준 인터페이스에서 발생하는 오류 코드와 해당 인터페이스에 해당하는 std::error_category 유형의 개체에 대한 포인터를 보유합니다.
문자열 라이브러리
− 문자 데이터에 포함된 유형을 결정하는 함수
− 와이드 문자 데이터에 포함된 유형을 판별하는 함수
-다양한 좁은 문자열 처리 기능
-다양한 와이드 및 멀티바이트 문자열 처리 기능
<문자열> −std::basic_string 클래스 템플릿
(C++11부터) − C 스타일의 유니코드 문자 변환 기능
(C++17부터) − 클래스 템플릿 basic_string_view는 위치 0에 시퀀스의 첫 번째 요소가 있는 char 유사 개체의 상수 연속 시퀀스를 참조할 수 있는 개체를 설명합니다.
컨테이너 라이브러리
(C++11부터) - std::배열 컨테이너
<벡터> - std::벡터 컨테이너
- std::deque 컨테이너
<목록> - std::list 컨테이너
(C++11부터) - std::forward_list 컨테이너
- std::set 및 std::multiset 연관 컨테이너
<지도> - std::map 및 std::multimap 연관 컨테이너
(C++11부터) - std::unordered_set 및 std::unordered_multiset 정렬되지 않은 연관 컨테이너
(C++11부터) - std::unordered_map 및 std::unordered_multimap 정렬되지 않은 연관 컨테이너
<스택> - std::스택 컨테이너 어댑터
<대기열> - std::queue 및 std::priority_queue 컨테이너 어댑터
알고리즘 라이브러리
<알고리즘> − 컨테이너에서 작동하는 알고리즘 포함
<실행>(C++17) −알고리즘의 병렬 버전에 대한 사전 정의된 실행 정책
반복자 라이브러리
<반복자> − 컨테이너의 반복자
숫자 라이브러리
− 일반적인 수학 함수
<복잡한> − 복소수 유형
<발라레이> − 값 배열을 표현하고 조작하기 위한 클래스
<무작위>(C++11부터) − 난수 생성기 및 분포
<숫자> − 컨테이너의 값에 대한 숫자 연산
<비율>(C++11 이후) −컴파일 시간 합리적 산술
(C++11부터) − 부동 소수점 환경 액세스 기능
입력/출력 라이브러리
- 입력/출력 라이브러리에 있는 모든 클래스의 전방 선언
− std::ios_base 클래스, std::basic_ios 클래스 템플릿 및 여러 typedef
− std::basic_istream 클래스 템플릿 및 여러 typedef
− std::basic_ostream, std::basic_iostream 클래스 템플릿 및 여러 typedef
- 여러 표준 스트림 개체
- std::basic_fstream, std::basic_ifstream, std::basic_ofstream 클래스 템플릿 및 여러 typedef
<스트림> - std::basic_stringstream, std::basic_istringstream, std::basic_ostringstream 클래스 템플릿 및 여러 typedef
(C++20부터) - std::basic_osyncstream, std::basic_syncbuf 및 typedef
(지원 중단됨) - 표준::strstream, 표준::istrstream, 표준::ostrstream
− 형식 또는 입출력을 제어하는 도우미 기능
- std::basic_streambuf 클래스 템플릿
− C 스타일 입출력 기능
현지화 라이브러리
<로케일> − 현지화 유틸리티
− C 현지화 유틸리티
(C++11부터)(C++17에서 더 이상 사용되지 않음) - 유니코드 변환 기능
정규 표현식 라이브러리
(C++11부터) − 정규식 처리를 지원하는 클래스, 알고리즘 및 반복기
원자 연산 라이브러리
(C++11부터) − 원자 연산 라이브러리
스레드 지원 라이브러리
<스레드>(C++11부터) − std::thread 클래스 및 지원 기능
(C++11부터) - 상호 배제 프리미티브
(C++14부터) - 공유 상호 배제 프리미티브
<미래>(C++11 이후) −비동기 계산을 위한 기본 요소
(C++11부터) - 스레드 대기 조건
파일 시스템 라이브러리
(C++17부터) − std::path 클래스 및 지원 기능