常用的C++標(biāo)準(zhǔn)庫(kù)頭文件小結(jié)
C字母開(kāi)頭的是C語(yǔ)言庫(kù)包裝器, 并添加到 std 命名空間,例如cmath cstdlib。
模板容器
- 順序容器
<vector>: 支持動(dòng)態(tài)擴(kuò)容的數(shù)組,支持隨機(jī)訪問(wèn)和尾插, 比普通數(shù)組更安全、更靈活
<array>: 固定大小數(shù)組,支持復(fù)制
<deque>: 雙向隊(duì)列, 支持在開(kāi)始和結(jié)尾的高效插入和刪除操作
<list>: 雙向鏈表 在任意位置插入和刪除元素
<forward_list>: 單向鏈表
- 有序的關(guān)聯(lián)容器
<map>: 鍵值對(duì)數(shù)組, 且按照升序存儲(chǔ)。multimap類(lèi)似于map,但鍵不是唯一的
<set>: 集合,以升序方式存儲(chǔ)唯一值, 已插入過(guò)的元素不可重復(fù)插入, multiset類(lèi)似于set,但是值不必是唯一的。
<bitset>: 為固定長(zhǎng)度的位序列定義bitset模板,它可以看作固定長(zhǎng)度的緊湊型bool數(shù)組
- 無(wú)序的關(guān)聯(lián)容器
<unordered_map>: 無(wú)序容器map,其鍵值隨機(jī)存放。multimap類(lèi)似于map,但鍵不是唯一的
<unordered_set>: 無(wú)序容器set,其元素隨機(jī)存放。multiset類(lèi)似于set,但是值不必是唯一的
- 容器適配器
<queue>: 隊(duì)列, 先進(jìn)先出(FIFO),只有隊(duì)頭和隊(duì)尾可以被訪問(wèn),故不可有遍歷行為
<stack>: 堆棧(后進(jìn)先出)
- 迭代器
<iterator>: 迭代器
異常和錯(cuò)誤處理
<cassert>: assert()宏
<exception>: 支持異常處理,exception、bad_excption
<stdexcept>: 沒(méi)有定義在 exception 中的非領(lǐng)域相關(guān)的異常
<system_error>: 錯(cuò)誤分類(lèi)和錯(cuò)誤代碼
<cerrno>: 獲取C函數(shù)錯(cuò)誤信息(錯(cuò)誤編號(hào))
通用工具
<any>: 表示任意類(lèi)型
<optional>: 可選,值可以有,也可以為空
<tuple>: 元組
<type_traits>: 模版元編程中使用的類(lèi)型trait
<typeinfo>: 運(yùn)行時(shí)類(lèi)型信息工具 支持變量在運(yùn)行期間的類(lèi)型標(biāo)識(shí)
<typeindex>: type_info簡(jiǎn)單包裝,在容器中作為索引類(lèi)型
<utility>: 多種工具組件
<algorithm>: 提供一組基于算法的函數(shù),包括置換、排序、合并和搜索
<locale> 本地化包括字符類(lèi)別以及貨幣和日期表示
<clocale> C語(yǔ)言本地化
<cstdlib>: rand(), abort(),exit(),calloc() malloc() realloc() free() qsort()以及字符處理函數(shù)
<cstdarg>: va_arg、va_end、va_start以及va_list類(lèi)型
<cstddef>: NULL、size_t和ptrdiff_t
I/O流
<cstdio>: fopen fclose, printf printf scanf 等C語(yǔ)言輸入輸出操作
<filesystem>: 文件系統(tǒng) path、directory_entry
<fstream>: 文件流
<iostream>: 支持標(biāo)準(zhǔn)流cin、cout、cerr和clog的輸入和輸出,還支持多字節(jié)字符標(biāo)準(zhǔn)流wcin、wcout、wcerr和wclog
<iomanip>: 提供操縱程序,允許改變流的狀態(tài),從而改變輸出的格式
<ios>: 定義iostream的基類(lèi)
<istream>: 為管理輸出流緩存區(qū)的輸入定義模板類(lèi)
<ostream>: 為管理輸出流緩存區(qū)的輸出定義模板類(lèi)
<sstream>: 支持字符串的流輸入輸出
<fstream>: 支持文件的流輸入輸出
<iosfwd>: 為輸入輸出對(duì)象提供向前的聲明
<streambuf>: 支持流輸入和輸出的緩存
<cwchar>: 支持多字節(jié)字符的C樣式輸入輸出
數(shù)學(xué)和數(shù)字
<cfenv> <cfloat>: C語(yǔ)言浮點(diǎn)數(shù)和相關(guān)操作
<cmath>: C數(shù)學(xué)庫(kù)
<limits>、提供與基本數(shù)據(jù)類(lèi)型相關(guān)的定義。例如,對(duì)于每個(gè)數(shù)值數(shù)據(jù)類(lèi)型,它定義了可以表示出來(lái)的最大值和最小值以及二進(jìn)制數(shù)字的位數(shù)。
<cstdint>: int8_他int64_t等整數(shù)類(lèi)型
<climits>: C風(fēng)格數(shù)字限制,例如INT_MAX
<numeric> 數(shù)值算法的原型, 例如accumulate和inner_product
<random>: 隨機(jī)數(shù)生成
<ratio>: 有理數(shù)
<valarray>: 支持?jǐn)?shù)值矢量的操作
內(nèi)存管理
<memory>: 分別支持共享shared_ptr,獨(dú)享unique_ptr的動(dòng)態(tài)內(nèi)存分配)
<memory_resource>: 多態(tài)分配器和內(nèi)存資源
<new>:支持動(dòng)態(tài)內(nèi)存分配 new、delete
<allocators>: 封裝堆內(nèi)存管理的對(duì)象
<scoped_allocator>: 容器的分配器
多線程處理
<csignal>: signal() raise() 信號(hào)處理
<atomic>: 原子類(lèi)型atomic<T>和原子操作
<condition_variable>: 條件變量, 利用線程間共享的全局變量進(jìn)行同步的一種機(jī)制
<future>: future promise async() 提供異步操作結(jié)果的機(jī)制,輕松解決從異步任務(wù)中返回結(jié)果
<mutex>: 互斥鎖
<shared_mutex>: 共享鎖
<thread>: 線程對(duì)象
<coroutine>: 協(xié)程支持庫(kù)
字符和字符串
<string>: 為字符串類(lèi)型提供支持和定義,包括單字節(jié)字符串(由char組成)的string和多字節(jié)字符串(由wchar_t組成)
<string_view>: const string& 不會(huì)拷貝字符串
<charconv>: 字符轉(zhuǎn)換, from_chats()、to_chars()
<cuchar>: Unicode 字符
<cwchar>: 寬字符版本的字符串、內(nèi)存和IO函數(shù)
<cctype> 單字節(jié)字符操作
<cwctype> cctype的寬字符版本
<cstring> 內(nèi)存: memcpy() memset() 字符: strcpy() strcmp()
<regex>: 正則表達(dá)式
時(shí)間
<chrono>: C++ 時(shí)間工具
<ctime>: C時(shí)間工具 time()、localtime()
以上就是常用的C++標(biāo)準(zhǔn)庫(kù)頭文件小結(jié)的詳細(xì)內(nèi)容,更多關(guān)于C++標(biāo)準(zhǔn)庫(kù)頭文件的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
詳細(xì)對(duì)比C語(yǔ)言中的chmod()函數(shù)和fchmod()函數(shù)
這篇文章主要介紹了C語(yǔ)言中的chmod()函數(shù)和fchmod()函數(shù)的詳細(xì)對(duì)比,兩個(gè)都是用于修改文件權(quán)限但是請(qǐng)注意實(shí)際使用上的差異,需要的朋友可以參考下2015-09-09
淺談C#中List<T>對(duì)象的深度拷貝問(wèn)題
下面小編就為大家?guī)?lái)一篇淺談C#中List<T>對(duì)象的深度拷貝問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-01-01
掌握C++:揭秘寫(xiě)時(shí)拷貝與淺深拷貝之間的關(guān)系
探索C++的奧秘,本指南將揭秘寫(xiě)時(shí)拷貝與淺深拷貝之間的微妙關(guān)系,摸索這些復(fù)雜概念背后的邏輯,讓你的編程技能瞬間提升,來(lái)吧,讓我們一起進(jìn)入這個(gè)引人入勝的C++世界!2024-01-01
C++實(shí)現(xiàn)無(wú)重復(fù)字符的最長(zhǎng)子串
本文主要介紹了C++實(shí)現(xiàn)無(wú)重復(fù)字符的最長(zhǎng)子串,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07
VS2022設(shè)置編碼方式為utf-8的三種方式小結(jié)
本文主要介紹了VS2022設(shè)置編碼方式為utf-8的三種方式小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-09-09

