C++ 標準庫的接口由下列頭文件的聚集定義。html
<concepts>ios
(C++20)正則表達式
基礎庫概念算法
<coroutine>api
(C++20)數組
協程支持庫dom
(C++11)
(C++11)
std::bitset 類模板
多種工具組件
(C++11)
(C++11)
(C++11)
std::tuple 類模板
(C++17)
std::any 類
(C++17)
std::optional 類模板
(C++17)
std::variant 類模板
(C++20)
三路比較運算符支持
(C++20)
提供依賴實現的庫信息
(C++20)
提供得到源碼位置的手段
(C++11)
(C++17)
(C++11)
(C++11)
格式化宏、 intmax_t
與 uintmax_t
數學與轉換
(C++11)
定義 std::error_code ,依賴平臺的錯誤碼
多種窄字符串處理函數
(C++11)
C 風格 Unicode 字符轉換函數
(C++17)
(C++17)
std::to_chars 與 std::from_chars
(C++20)
格式化庫,包括 std::format
(C++11)
std::array 容器
std::vector 容器
std::deque 容器
std::list 容器
(C++11)
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::stack 容器適配器
std::queue 與 std::priority_queue 容器適配器
(C++20)
std::span 視圖
(C++20)
(C++17)
並行版本算法的預約義執行策略
(C++11)
(C++11)
(C++11)
浮點環境訪問函數
(C++20)
位操縱函數
(C++20)
(C++11)(C++17 中棄用)
輸入/輸出庫中全部類的前置聲明
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
(C++98 中棄用)
std::strstream 、 std::istrstream 、 std::ostrstream
(C++17)
std::path 類與支持函數
(C++11)
(C++11)
(C++11)
(C++20)
std::jthread 的中止記號
(C++11)
(C++14)
(C++11)
(C++11)
(C++20)
(C++20)
(C++20)
對於一些形式爲 xxx.h 的 C 標準庫頭文件,C++ 標準庫同時包含同名的頭文件和擁有形式 cxxx 的頭文件(全部有意義的 cxxx 頭文件列於上方)。
除了 complex.h 這一例外,C++ 標準庫中包含的每一個 xxx.h 頭文件都將其對應的 cxxx 中本應置於 std 命名空間中的每一個名字放在全局命名空間中。
容許這些頭文件也在 std 命名空間中聲明一樣的名字,並且容許對應的 cxxx 頭文件也在全局命名空間中聲明一樣的名字:包含 <cstdlib>
確定會提供 std::malloc,亦可提供 ::malloc。包含 <stdlib.h>
確定會提供 ::malloc,亦可提供 std::malloc。這甚至適用於並不是 C 標準庫一部分的函數和函數重載。
(棄用)
表現同 <cassert>
(棄用)
表現如同將每一個來自 <cctype> 的名字置於全局命名空間
(棄用)
表現同 <cerrno>
(C++11)(棄用)
表現如同將每一個來自 <cfenv> 的名字置於全局命名空間
(棄用)
表現同 <cfloat>
(C++11)(棄用)
表現如同將每一個來自 <cinttypes> 的名字置於全局命名空間
(棄用)
表現同 <climits>
(棄用)
表現如同將每一個來自 <clocale> 的名字置於全局命名空間
(棄用)
表現如同將每一個來自 <cmath> 的名字置於全局命名空間,
除了數學特殊函數的名字
(棄用)
表現如同將每一個來自 <csetjmp> 的名字置於全局命名空間
(棄用)
表現如同將每一個來自 <csignal> 的名字置於全局命名空間
(棄用)
表現如同將每一個來自 <cstdarg> 的名字置於全局命名空間
(棄用)
表現如同將每一個來自 <cstddef> 的名字置於全局命名空間,
除了 std::byte
與相關函數的名字
(C++11)(棄用)
表現如同將每一個來自 <cstdint> 的名字置於全局命名空間
(棄用)
表現如同將每一個來自 <cstdio> 的名字置於全局命名空間
(棄用)
表現如同將每一個來自 <cstdlib> 的名字置於全局命名空間
(棄用)
表現如同將每一個來自 <cstring> 的名字置於全局命名空間
(棄用)
表現如同將每一個來自 <ctime> 的名字置於全局命名空間
(C++11)(棄用)
表現如同將每一個來自 <cuchar> 的名字置於全局命名空間
(棄用)
表現如同將每一個來自 <cwchar> 的名字置於全局命名空間
(棄用)
表現如同將每一個來自 <cwctype> 的名字置於全局命名空間
頭文件 <complex.h>
、<ccomplex>
、<tgmath.h>
及 <ctgmath>
不含有任何來自 C 標準庫的內容,並且不過是包含其餘來自 C++ 標準庫的頭文件。C++ 中這些頭文件的使用均已被棄用。
(C++11)(C++17 中棄用)(C++20 中移除)
簡單地包含頭文件 <complex>
(C++11)(棄用)
簡單地包含頭文件 <complex>
(C++11)(C++17 中棄用)(C++20 中移除)
簡單地包含頭文件 <complex> 與 <cmath> :等價於 C 頭文件 tgmath.h
的重載已於前述頭文件提供
(C++11)(棄用)
頭文件 <ciso646>
、<cstdalign>
及 <cstdbool>
在 C++ 中無心義,由於它們在 C 中提供的宏是 C++ 的關鍵詞。
(C++20 中移除)
空頭文件。 C 中 iso646.h
中出現的宏是 C++ 中的關鍵詞
(棄用)
無效果
(C++11)(C++17 中棄用)(C++20 中移除)
定義一個兼容性宏常量
(C++11)(棄用)
定義一個兼容性宏常量
(C++11)(C++17 中棄用)(C++20 中移除)
定義一個兼容性宏常量
(C++11)(棄用)
定義一個兼容性宏常量
C++ 不包含 C 頭文件 <stdatomic.h>
、<stdnoreturn.h>
及 <threads.h>
並且它們無 cxxx 等價版本。
C++ TR/TS 亦定義數個頭文件的聚集。