C++ 標(biāo)準(zhǔn)庫(kù)頭文件

C++ 標(biāo)準(zhǔn)庫(kù)的接口由下列頭文件的匯集定義。

概念庫(kù)

<concepts>

(C++20)

基礎(chǔ)庫(kù)概念

協(xié)程庫(kù)

<coroutine>

(C++20)

協(xié)程支持庫(kù)

工具庫(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)型信息工具

<typeindex>

(C++11)

std::type_index

<type_traits>

(C++11)

編譯時(shí)類(lèi)型信息

<bitset>std::bitset?類(lèi)模板

<functional>函數(shù)對(duì)象、函數(shù)調(diào)用、綁定操作及引用包裝

<utility>多種工具組件

<ctime>C 風(fēng)格日期/時(shí)間工具

<chrono>

(C++11)

C++ 時(shí)間工具

<cstddef>標(biāo)準(zhǔn)宏與 typedef

<initializer_list>

(C++11)

std::initializer_list?類(lèi)模板

<tuple>

(C++11)

std::tuple?類(lèi)模板

<any>

(C++17)

std::any?類(lèi)

<optional>

(C++17)

std::optional?類(lèi)模板

<variant>

(C++17)

std::variant?類(lèi)模板

<compare>

(C++20)

三路比較運(yùn)算符支持

<version>

(C++20)

提供依賴實(shí)現(xiàn)的庫(kù)信息

<source_location>

(C++20)

提供獲得源碼位置的手段

動(dòng)態(tài)內(nèi)存管理

<new>低層內(nèi)存管理工具

<memory>高層內(nèi)存管理工具

<scoped_allocator>

(C++11)

嵌套分配器類(lèi)

<memory_resource>

(C++17)

多態(tài)分配器與內(nèi)存資源

數(shù)值極限

<climits>整數(shù)類(lèi)型的極限

<cfloat>浮點(diǎn)類(lèi)型的極限

<cstdint>

(C++11)

定寬整數(shù)類(lèi)型其他類(lèi)型的極限

<cinttypes>

(C++11)

格式化宏、?intmax_t?與?uintmax_t?數(shù)學(xué)與轉(zhuǎn)換

<limits>查詢算術(shù)類(lèi)型屬性的一致方式

錯(cuò)誤處理

<exception>異常處理工具

<stdexcept>標(biāo)準(zhǔn)異常對(duì)象

<cassert>比較其實(shí)參與零的條件編譯宏

<system_error>

(C++11)

定義?std::error_code?,依賴平臺(tái)的錯(cuò)誤碼

<cerrno>含有最后一次錯(cuò)誤號(hào)的宏

字符串庫(kù)

<cctype>確定窄字符類(lèi)別的函數(shù)

<cwctype>確定寬字符的類(lèi)別的函數(shù)

<cstring>多種窄字符串處理函數(shù)

<cwchar>多種多字節(jié)字符串處理函數(shù)

<cuchar>

(C++11)

C 風(fēng)格?Unicode 字符轉(zhuǎn)換函數(shù)

<string>std::basic_string?類(lèi)模板

<string_view>

(C++17)

std::basic_string_view?類(lèi)模板

<charconv>

(C++17)

std::to_chars?與?std::from_chars

<format>

(C++20)

格式化庫(kù),包括?std::format

容器庫(kù)

<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?關(guān)聯(lián)容器

<map>std::map?與?std::multimap?關(guān)聯(lián)容器

<unordered_set>

(C++11)

std::unordered_set?與?std::unordered_multiset?無(wú)序關(guān)聯(lián)容器

<unordered_map>

(C++11)

std::unordered_map?與?std::unordered_multimap?無(wú)序關(guān)聯(lián)容器

<stack>std::stack?容器適配器

<queue>std::queue?與?std::priority_queue?容器適配器

<span>

(C++20)

std::span?視圖

迭代器庫(kù)

<iterator>范圍迭代器

范圍庫(kù)

<ranges>

(C++20)

范圍訪問(wèn)、元件、要求、工具及適配器

算法庫(kù)

<algorithm>在范圍上操作的算法

<execution>

(C++17)

并行版本算法的預(yù)定義執(zhí)行策略

數(shù)值庫(kù)

<cmath>常用數(shù)學(xué)函數(shù)

<complex>復(fù)數(shù)類(lèi)型

<valarray>表示和操縱值的數(shù)組的類(lèi)

<random>

(C++11)

隨機(jī)數(shù)生成器與分布

<numeric>范圍中的值上的數(shù)值運(yùn)算

<ratio>

(C++11)

編譯時(shí)有理數(shù)算術(shù)

<cfenv>

(C++11)

浮點(diǎn)環(huán)境訪問(wèn)函數(shù)

<bit>

(C++20)

位操縱函數(shù)

<numbers>

(C++20)

數(shù)學(xué)常數(shù)

本地化庫(kù)

<locale>本地化工具

<clocale>C 本地化工具

<codecvt>

(C++11)(C++17 中棄用)

Unicode 轉(zhuǎn)換設(shè)施

輸入/輸出庫(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

<syncstream>

(C++20)

std::basic_osyncstream?、?std::basic_syncbuf?及 typedef

<strstream>

(C++98 中棄用)

std::strstream?、?std::istrstream?、?std::ostrstream

<iomanip>格式化輸入與輸出的輔助函數(shù)

<streambuf>std::basic_streambuf?類(lèi)模板

<cstdio>C 風(fēng)格輸入輸出函數(shù)

文件系統(tǒng)庫(kù)

<filesystem>

(C++17)

std::path?類(lèi)與支持函數(shù)

正則表達(dá)式庫(kù)

<regex>

(C++11)

支持正則表達(dá)式處理的類(lèi)、算法及迭代器

原子操作庫(kù)

<atomic>

(C++11)

原子操作庫(kù)

線程支持庫(kù)

<thread>

(C++11)

std::thread?類(lèi)與支持函數(shù)

<stop_token>

(C++20)

std::jthread?的停止記號(hào)

<mutex>

(C++11)

互斥元件

<shared_mutex>

(C++14)

共享互斥元件

<future>

(C++11)

異步計(jì)算元件

<condition_variable>

(C++11)

線程等待條件

<semaphore>

(C++20)

信號(hào)量

<latch>

(C++20)

<barrier>

(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ù)重載。

<assert.h>

(棄用)

表現(xiàn)同?<cassert>

<ctype.h>

(棄用)

表現(xiàn)如同將每個(gè)來(lái)自?<cctype>?的名字置于全局命名空間

<errno.h>

(棄用)

表現(xiàn)同?<cerrno>

<fenv.h>

(C++11)(棄用)

表現(xiàn)如同將每個(gè)來(lái)自?<cfenv>?的名字置于全局命名空間

<float.h>

(棄用)

表現(xiàn)同?<cfloat>

<inttypes.h>

(C++11)(棄用)

表現(xiàn)如同將每個(gè)來(lái)自?<cinttypes>?的名字置于全局命名空間

<limits.h>

(棄用)

表現(xiàn)同?<climits>

<locale.h>

(棄用)

表現(xiàn)如同將每個(gè)來(lái)自?<clocale>?的名字置于全局命名空間

<math.h>

(棄用)

表現(xiàn)如同將每個(gè)來(lái)自?<cmath>?的名字置于全局命名空間,

除了數(shù)學(xué)特殊函數(shù)的名字

<setjmp.h>

(棄用)

表現(xiàn)如同將每個(gè)來(lái)自?<csetjmp>?的名字置于全局命名空間

<signal.h>

(棄用)

表現(xiàn)如同將每個(gè)來(lái)自?<csignal>?的名字置于全局命名空間

<stdarg.h>

(棄用)

表現(xiàn)如同將每個(gè)來(lái)自?<cstdarg>?的名字置于全局命名空間

<stddef.h>

(棄用)

表現(xiàn)如同將每個(gè)來(lái)自?<cstddef>?的名字置于全局命名空間,

除了?std::byte?與相關(guān)函數(shù)的名字

<stdint.h>

(C++11)(棄用)

表現(xiàn)如同將每個(gè)來(lái)自?<cstdint>?的名字置于全局命名空間

<stdio.h>

(棄用)

表現(xiàn)如同將每個(gè)來(lái)自?<cstdio>?的名字置于全局命名空間

<stdlib.h>

(棄用)

表現(xiàn)如同將每個(gè)來(lái)自?<cstdlib>?的名字置于全局命名空間

<string.h>

(棄用)

表現(xiàn)如同將每個(gè)來(lái)自?<cstring>?的名字置于全局命名空間

<time.h>

(棄用)

表現(xiàn)如同將每個(gè)來(lái)自?<ctime>?的名字置于全局命名空間

<uchar.h>

(C++11)(棄用)

表現(xiàn)如同將每個(gè)來(lái)自?<cuchar>?的名字置于全局命名空間

<wchar.h>

(棄用)

表現(xiàn)如同將每個(gè)來(lái)自?<cwchar>?的名字置于全局命名空間

<wctype.h>

(棄用)

表現(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++ 中這些頭文件的使用均已被棄用。

<ccomplex>

(C++11)(C++17 中棄用)(C++20 中移除)

簡(jiǎn)單地包含頭文件?<complex>

<complex.h>

(C++11)(棄用)

簡(jiǎn)單地包含頭文件?<complex>

<ctgmath>

(C++11)(C++17 中棄用)(C++20 中移除)

簡(jiǎn)單地包含頭文件?<complex>?與?<cmath>?:等價(jià)于 C 頭文件?tgmath.h?的重載已于前述頭文件提供

<tgmath.h>

(C++11)(棄用)

簡(jiǎn)單地包含頭文件?<complex>?與?<cmath>

無(wú)意義的 C 頭文件

頭文件?<ciso646>、<cstdalign>?及?<cstdbool>?在 C++ 中無(wú)意義,因?yàn)樗鼈冊(cè)?C 中提供的宏是 C++ 的關(guān)鍵詞。

<ciso646>

(C++20 中移除)

空頭文件。?C 中?iso646.h?中出現(xiàn)的宏是?C++ 中的關(guān)鍵詞

<iso646.h>

(棄用)

無(wú)效果

<cstdalign>

(C++11)(C++17 中棄用)(C++20 中移除)

定義一個(gè)兼容性宏常量

<stdalign.h>

(C++11)(棄用)

定義一個(gè)兼容性宏常量

<cstdbool>

(C++11)(C++17 中棄用)(C++20 中移除)

定義一個(gè)兼容性宏常量

<stdbool.h>

(C++11)(棄用)

定義一個(gè)兼容性宏常量

不受支持的 C 頭文件

C++ 不包含 C 頭文件?<stdatomic.h>、<stdnoreturn.h>?及?<threads.h>?而且它們無(wú)?cxxx?等價(jià)版本。

實(shí)驗(yàn)性庫(kù)

C++ TR/TS?亦定義數(shù)個(gè)頭文件的匯集。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容