C++ 標(biāo)準(zhǔn)庫(kù)的接口由下列頭文件的匯集定義。
概念庫(kù)
(C++20)
協(xié)程庫(kù)
(C++20)
工具庫(kù)
<cstdlib>通用工具:程序控制、動(dòng)態(tài)內(nèi)存分配、隨機(jī)數(shù)、排序與搜索
<csignal>信號(hào)管理的函數(shù)與宏常量
<csetjmp>保存(及跳轉(zhuǎn))到執(zhí)行環(huán)境的宏(與函數(shù))
<cstdarg>變長(zhǎng)實(shí)參列表的處理
<typeinfo>運(yùn)行時(shí)類(lèi)型信息工具
(C++11)
(C++11)
<bitset>std::bitset?類(lèi)模板
<functional>函數(shù)對(duì)象、函數(shù)調(diào)用、綁定操作及引用包裝
(C++11)
<cstddef>標(biāo)準(zhǔn)宏與 typedef
(C++11)
std::initializer_list?類(lèi)模板
(C++11)
std::tuple?類(lèi)模板
(C++17)
std::any?類(lèi)
(C++17)
std::optional?類(lèi)模板
(C++17)
std::variant?類(lèi)模板
(C++20)
(C++20)
提供依賴實(shí)現(xiàn)的庫(kù)信息
(C++20)
提供獲得源碼位置的手段
動(dòng)態(tài)內(nèi)存管理
(C++11)
(C++17)
數(shù)值極限
(C++11)
(C++11)
格式化宏、?intmax_t?與?uintmax_t?數(shù)學(xué)與轉(zhuǎn)換
<limits>查詢算術(shù)類(lèi)型屬性的一致方式
錯(cuò)誤處理
<stdexcept>標(biāo)準(zhǔn)異常對(duì)象
(C++11)
定義?std::error_code?,依賴平臺(tái)的錯(cuò)誤碼
字符串庫(kù)
<cwctype>確定寬字符的類(lèi)別的函數(shù)
<cwchar>多種寬與多字節(jié)字符串處理函數(shù)
(C++11)
C 風(fēng)格?Unicode 字符轉(zhuǎn)換函數(shù)
<string>std::basic_string?類(lèi)模板
(C++17)
std::basic_string_view?類(lèi)模板
(C++17)
std::to_chars?與?std::from_chars
(C++20)
格式化庫(kù),包括?std::format
容器庫(kù)
(C++11)
std::array?容器
(C++11)
<set>std::set?與?std::multiset?關(guān)聯(lián)容器
<map>std::map?與?std::multimap?關(guān)聯(lián)容器
(C++11)
std::unordered_set?與?std::unordered_multiset?無(wú)序關(guān)聯(lián)容器
(C++11)
std::unordered_map?與?std::unordered_multimap?無(wú)序關(guān)聯(lián)容器
<stack>std::stack?容器適配器
<queue>std::queue?與?std::priority_queue?容器適配器
(C++20)
std::span?視圖
迭代器庫(kù)
范圍庫(kù)
(C++20)
算法庫(kù)
(C++17)
并行版本算法的預(yù)定義執(zhí)行策略
數(shù)值庫(kù)
<valarray>表示和操縱值的數(shù)組的類(lèi)
(C++11)
<numeric>范圍中的值上的數(shù)值運(yùn)算
(C++11)
(C++11)
浮點(diǎn)環(huán)境訪問(wèn)函數(shù)
(C++20)
位操縱函數(shù)
(C++20)
本地化庫(kù)
(C++11)(C++17 中棄用)
輸入/輸出庫(kù)
<iosfwd>輸入/輸出庫(kù)中所有類(lèi)的前置聲明
<ios>std::ios_base?類(lèi)、?std::basic_ios?類(lèi)模板與數(shù)個(gè) typedef
<istream>std::basic_istream?類(lèi)模板與數(shù)個(gè) typedef
<ostream>std::basic_ostream?、?std::basic_iostream?類(lèi)模板與數(shù)個(gè) typedef
<iostream>數(shù)個(gè)標(biāo)準(zhǔn)流對(duì)象
<fstream>std::basic_fstream?、?std::basic_ifstream?、?std::basic_ofstream?類(lèi)模板及數(shù)個(gè) typedef
<sstream>std::basic_stringstream?、?std::basic_istringstream?、?std::basic_ostringstream?類(lèi)模板與數(shù)個(gè) typedef
(C++20)
std::basic_osyncstream?、?std::basic_syncbuf?及 typedef
(C++98 中棄用)
std::strstream?、?std::istrstream?、?std::ostrstream
<streambuf>std::basic_streambuf?類(lèi)模板
文件系統(tǒng)庫(kù)
(C++17)
std::path?類(lèi)與支持函數(shù)
正則表達(dá)式庫(kù)
(C++11)
原子操作庫(kù)
(C++11)
線程支持庫(kù)
(C++11)
std::thread?類(lèi)與支持函數(shù)
(C++20)
std::jthread?的停止記號(hào)
(C++11)
(C++14)
(C++11)
(C++11)
(C++20)
(C++20)
(C++20)
C 兼容頭文件
對(duì)于一些形式為?xxx.h?的 C 標(biāo)準(zhǔn)庫(kù)頭文件,C++ 標(biāo)準(zhǔn)庫(kù)同時(shí)包含同名的頭文件和擁有形式?cxxx?的頭文件(所有有意義的?cxxx?頭文件列于上方)。
除了?complex.h?這一例外,C++ 標(biāo)準(zhǔn)庫(kù)中包含的每個(gè)?xxx.h?頭文件都將其對(duì)應(yīng)的?cxxx?中本應(yīng)置于?std?命名空間中的每個(gè)名字放在全局命名空間中。
允許這些頭文件也在?std?命名空間中聲明同樣的名字,而且允許對(duì)應(yīng)的?cxxx?頭文件也在全局命名空間中聲明同樣的名字:包含?<cstdlib>?肯定會(huì)提供?std::malloc,亦可提供?::malloc。包含?<stdlib.h>?肯定會(huì)提供?::malloc,亦可提供?std::malloc。這甚至適用于并非 C 標(biāo)準(zhǔn)庫(kù)一部分的函數(shù)和函數(shù)重載。
(棄用)
表現(xiàn)同?<cassert>
(棄用)
表現(xiàn)如同將每個(gè)來(lái)自?<cctype>?的名字置于全局命名空間
(棄用)
表現(xiàn)同?<cerrno>
(C++11)(棄用)
表現(xiàn)如同將每個(gè)來(lái)自?<cfenv>?的名字置于全局命名空間
(棄用)
表現(xiàn)同?<cfloat>
(C++11)(棄用)
表現(xiàn)如同將每個(gè)來(lái)自?<cinttypes>?的名字置于全局命名空間
(棄用)
表現(xiàn)同?<climits>
(棄用)
表現(xiàn)如同將每個(gè)來(lái)自?<clocale>?的名字置于全局命名空間
(棄用)
表現(xiàn)如同將每個(gè)來(lái)自?<cmath>?的名字置于全局命名空間,
(棄用)
表現(xiàn)如同將每個(gè)來(lái)自?<csetjmp>?的名字置于全局命名空間
(棄用)
表現(xiàn)如同將每個(gè)來(lái)自?<csignal>?的名字置于全局命名空間
(棄用)
表現(xiàn)如同將每個(gè)來(lái)自?<cstdarg>?的名字置于全局命名空間
(棄用)
表現(xiàn)如同將每個(gè)來(lái)自?<cstddef>?的名字置于全局命名空間,
除了?std::byte?與相關(guān)函數(shù)的名字
(C++11)(棄用)
表現(xiàn)如同將每個(gè)來(lái)自?<cstdint>?的名字置于全局命名空間
(棄用)
表現(xiàn)如同將每個(gè)來(lái)自?<cstdio>?的名字置于全局命名空間
(棄用)
表現(xiàn)如同將每個(gè)來(lái)自?<cstdlib>?的名字置于全局命名空間
(棄用)
表現(xiàn)如同將每個(gè)來(lái)自?<cstring>?的名字置于全局命名空間
(棄用)
表現(xiàn)如同將每個(gè)來(lái)自?<ctime>?的名字置于全局命名空間
(C++11)(棄用)
表現(xiàn)如同將每個(gè)來(lái)自?<cuchar>?的名字置于全局命名空間
(棄用)
表現(xiàn)如同將每個(gè)來(lái)自?<cwchar>?的名字置于全局命名空間
(棄用)
表現(xiàn)如同將每個(gè)來(lái)自?<cwctype>?的名字置于全局命名空間
空 C 頭文件
頭文件?<complex.h>、<ccomplex>、<tgmath.h>?及?<ctgmath>?不含有任何來(lái)自 C 標(biāo)準(zhǔn)庫(kù)的內(nèi)容,而且不過(guò)是包含其他來(lái)自 C++ 標(biāo)準(zhǔn)庫(kù)的頭文件。C++ 中這些頭文件的使用均已被棄用。
(C++11)(C++17 中棄用)(C++20 中移除)
簡(jiǎn)單地包含頭文件?<complex>
(C++11)(棄用)
簡(jiǎn)單地包含頭文件?<complex>
(C++11)(C++17 中棄用)(C++20 中移除)
簡(jiǎn)單地包含頭文件?<complex>?與?<cmath>?:等價(jià)于 C 頭文件?tgmath.h?的重載已于前述頭文件提供
(C++11)(棄用)
簡(jiǎn)單地包含頭文件?<complex>?與?<cmath>
無(wú)意義的 C 頭文件
頭文件?<ciso646>、<cstdalign>?及?<cstdbool>?在 C++ 中無(wú)意義,因?yàn)樗鼈冊(cè)?C 中提供的宏是 C++ 的關(guān)鍵詞。
(C++20 中移除)
空頭文件。?C 中?iso646.h?中出現(xiàn)的宏是?C++ 中的關(guān)鍵詞
(棄用)
無(wú)效果
(C++11)(C++17 中棄用)(C++20 中移除)
定義一個(gè)兼容性宏常量
(C++11)(棄用)
定義一個(gè)兼容性宏常量
(C++11)(C++17 中棄用)(C++20 中移除)
定義一個(gè)兼容性宏常量
(C++11)(棄用)
定義一個(gè)兼容性宏常量
不受支持的 C 頭文件
C++ 不包含 C 頭文件?<stdatomic.h>、<stdnoreturn.h>?及?<threads.h>?而且它們無(wú)?cxxx?等價(jià)版本。
C++ TR/TS?亦定義數(shù)個(gè)頭文件的匯集。