Thư viện chuẩn C++ bao gồm nhiều loại thư viện khác nhau. Dưới đây là danh sách tất cả các loại kèm thư viện thuộc chúng.
Thư viện tiện ích (Utilities library)
- <cstdlib> – Tiện ích chung: điều khiển chương trình, cấp phát bộ nhớ động, số ngẫu nhiên, sắp xếp, tìm kiếm
- <csignal> – Hàm và hằng macro quản lý tín hiệu (ví dụ SIGINT)
- <csetjmp> – Macro (và hàm) lưu (và nhảy) đến ngữ cảnh thực thi
- <cstdarg> – Xử lý danh sách đối số độ dài biến đổi
- <typeinfo> – Tiện ích thông tin kiểu runtime
- <bitset> – Class template
std::bitset - <functional> – Đối tượng hàm, gọi hàm, bind, wrapper tham chiếu
- <utility> – Các thành phần tiện ích đa dạng
- <ctime> – Tiện ích thời gian/ngày kiểu C
- <cstddef> – Macro và typedef chuẩn
- <typeindex> (C++11) – Wrapper quanh
type_info, dùng làm chỉ mục trong container liên kết/không thứ tự - <type_traits> (C++11) – Thông tin kiểu tại compile-time
- <chrono> (C++11) – Tiện ích thời gian C++
- <initializer_list> (C++11) – Proxy nhẹ truy cập mảng đối tượng
const T - <tuple> (C++11) – Tập hợp kích thước cố định giá trị dị chất, tổng quát hóa
std::pair - <any> (C++17) – Container an toàn kiểu cho giá trị đơn bất kỳ kiểu nào
- <optional> (C++17) – Quản lý giá trị tùy chọn (có thể có hoặc không)
- <variant> (C++17) – Union an toàn kiểu
- <compare> (C++20) – Hỗ trợ toán tử so sánh ba chiều
Quản lý bộ nhớ động (Dynamic memory management)
- <new> – Tiện ích quản lý bộ nhớ cấp thấp
- <memory> – Tiện ích quản lý bộ nhớ cấp cao
- <scoped_allocator> (C++11) – Allocator cho container đa cấp
- <memory_resource> (C++17) – Interface trừu tượng cho tài nguyên bộ nhớ
Giới hạn số học (Numeric limits)
- <climits> – Giới hạn kiểu nguyên
- <cfloat> – Giới hạn kiểu float
- <limits> – Cách chuẩn hóa truy vấn thuộc tính kiểu số học
- <cstdint> (C++11) – Kiểu kích thước cố định và giới hạn kiểu khác
- <cinttypes> (C++11) – Chuyển đổi từ chuỗi byte/宽 C sang
intmax_t,uintmax_t
Xử lý lỗi (Error handling)
- <exception> – Tiện ích xử lý ngoại lệ
- <stdexcept> – Đối tượng ngoại lệ chuẩn
- <cassert> – Macro điều kiện so sánh đối số với 0
- <cerrno> – Macro chứa mã lỗi cuối cùng
- <system_error> (C++11) –
error_codephụ thuộc nền tảng
Thư viện chuỗi (Strings library)
- <cctype> – Hàm xác định loại ký tự
- <cwctype> – Hàm xác định loại ký tự rộng
- <cstring> – Hàm xử lý chuỗi ký tự hẹp
- <cwchar> – Hàm xử lý chuỗi rộng và đa byte
- <string> – Class template
std::basic_string - <cuchar> (C++11) – Chuyển đổi ký tự Unicode kiểu C
- <string_view> (C++17) – View chỉ đọc chuỗi liên tiếp
Thư viện container (Containers library)
- <array> (C++11) –
std::array - <vector> –
std::vector - <deque> –
std::deque - <list> –
std::list - <forward_list> (C++11) –
std::forward_list - <set> –
std::set,std::multiset - <map> –
std::map,std::multimap - <unordered_set> (C++11) –
std::unordered_set,std::unordered_multiset - <unordered_map> (C++11) –
std::unordered_map,std::unordered_multimap - <stack> –
std::stackcontainer adaptor - <queue> –
std::queue,std::priority_queuecontainer adaptor
Thư viện thuật toán (Algorithms library)
- <algorithm> – Thuật toán hoạt động trên container
- <execution> (C++17) – Chính sách thực thi cho phiên bản song song
Thư viện iterator (Iterators library)
- <iterator> – Iterator cho container
Thư viện số học (Numerics library)
- <cmath> – Hàm toán học phổ biến
- <complex> – Kiểu số phức
- <valarray> – Lớp biểu diễn và thao tác mảng giá trị
- <random> (C++11) – Bộ sinh số ngẫu nhiên và phân phối
- <numeric> – Phép toán số học trên giá trị trong container
- <ratio> (C++11) – Số học hữu tỷ tại compile-time
- <cfenv> (C++11) – Truy cập môi trường floating-point
Thư viện nhập/xuất (Input/output library)
- <iosfwd> – Khai báo trước tất cả lớp trong thư viện I/O
- <ios> –
std::ios_base,std::basic_ios, các typedef - <istream> –
std::basic_istreamvà typedef - <ostream> –
std::basic_ostream,std::basic_iostream, typedef - <iostream> – Các đối tượng luồng chuẩn
- <fstream> – File stream
- <sstream> – String stream
- <syncstream> (C++20) – Sync stream
- <strstream> (deprecated) –
std::strstream,istrstream,ostrstream - <iomanip> – Hàm hỗ trợ điều khiển định dạng I/O
- <streambuf> –
std::basic_streambuf - <cstdio> – Hàm I/O kiểu C
Thư viện địa phương hóa (Localization library)
- <locale> – Tiện ích địa phương hóa
- <clocale> – Tiện ích địa phương hóa kiểu C
- <codecvt> (C++11, deprecated C++17) – Cơ chế chuyển đổi Unicode
Thư viện biểu thức chính quy (Regular Expressions library)
- <regex> (C++11) – Lớp, thuật toán, iterator hỗ trợ regex
Thư viện thao tác nguyên tử (Atomic Operations library)
- <atomic> (C++11) – Thư viện thao tác nguyên tử
Thư viện hỗ trợ luồng (Thread support library)
- <thread> (C++11) –
std::threadvà hàm hỗ trợ - <mutex> (C++11) – Nguyên tử loại trừ lẫn nhau
- <shared_mutex> (C++14) – Nguyên tử loại trừ lẫn nhau chia sẻ
- <future> (C++11) – Nguyên tử tính toán bất đồng bộ
- <condition_variable> (C++11) – Điều kiện chờ luồng
Thư viện hệ thống tập tin (Filesystem library)
- <filesystem> (C++17) –
std::pathvà hàm hỗ trợ