常用的C++標準庫頭文件小結(jié)
C字母開頭的是C語言庫包裝器, 并添加到 std 命名空間,例如cmath cstdlib。
模板容器
- 順序容器
<vector>: 支持動態(tài)擴容的數(shù)組,支持隨機訪問和尾插, 比普通數(shù)組更安全、更靈活
<array>: 固定大小數(shù)組,支持復(fù)制
<deque>: 雙向隊列, 支持在開始和結(jié)尾的高效插入和刪除操作
<list>: 雙向鏈表 在任意位置插入和刪除元素
<forward_list>: 單向鏈表
- 有序的關(guān)聯(lián)容器
<map>: 鍵值對數(shù)組, 且按照升序存儲。multimap類似于map,但鍵不是唯一的
<set>: 集合,以升序方式存儲唯一值, 已插入過的元素不可重復(fù)插入, multiset類似于set,但是值不必是唯一的。
<bitset>: 為固定長度的位序列定義bitset模板,它可以看作固定長度的緊湊型bool數(shù)組
- 無序的關(guān)聯(lián)容器
<unordered_map>: 無序容器map,其鍵值隨機存放。multimap類似于map,但鍵不是唯一的
<unordered_set>: 無序容器set,其元素隨機存放。multiset類似于set,但是值不必是唯一的
- 容器適配器
<queue>: 隊列, 先進先出(FIFO),只有隊頭和隊尾可以被訪問,故不可有遍歷行為
<stack>: 堆棧(后進先出)
- 迭代器
<iterator>: 迭代器
異常和錯誤處理
<cassert>: assert()宏
<exception>: 支持異常處理,exception、bad_excption
<stdexcept>: 沒有定義在 exception 中的非領(lǐng)域相關(guān)的異常
<system_error>: 錯誤分類和錯誤代碼
<cerrno>: 獲取C函數(shù)錯誤信息(錯誤編號)
通用工具
<any>: 表示任意類型
<optional>: 可選,值可以有,也可以為空
<tuple>: 元組
<type_traits>: 模版元編程中使用的類型trait
<typeinfo>: 運行時類型信息工具 支持變量在運行期間的類型標識
<typeindex>: type_info簡單包裝,在容器中作為索引類型
<utility>: 多種工具組件
<algorithm>: 提供一組基于算法的函數(shù),包括置換、排序、合并和搜索
<locale> 本地化包括字符類別以及貨幣和日期表示
<clocale> C語言本地化
<cstdlib>: rand(), abort(),exit(),calloc() malloc() realloc() free() qsort()以及字符處理函數(shù)
<cstdarg>: va_arg、va_end、va_start以及va_list類型
<cstddef>: NULL、size_t和ptrdiff_t
I/O流
<cstdio>: fopen fclose, printf printf scanf 等C語言輸入輸出操作
<filesystem>: 文件系統(tǒng) path、directory_entry
<fstream>: 文件流
<iostream>: 支持標準流cin、cout、cerr和clog的輸入和輸出,還支持多字節(jié)字符標準流wcin、wcout、wcerr和wclog
<iomanip>: 提供操縱程序,允許改變流的狀態(tài),從而改變輸出的格式
<ios>: 定義iostream的基類
<istream>: 為管理輸出流緩存區(qū)的輸入定義模板類
<ostream>: 為管理輸出流緩存區(qū)的輸出定義模板類
<sstream>: 支持字符串的流輸入輸出
<fstream>: 支持文件的流輸入輸出
<iosfwd>: 為輸入輸出對象提供向前的聲明
<streambuf>: 支持流輸入和輸出的緩存
<cwchar>: 支持多字節(jié)字符的C樣式輸入輸出
數(shù)學(xué)和數(shù)字
<cfenv> <cfloat>: C語言浮點數(shù)和相關(guān)操作
<cmath>: C數(shù)學(xué)庫
<limits>、提供與基本數(shù)據(jù)類型相關(guān)的定義。例如,對于每個數(shù)值數(shù)據(jù)類型,它定義了可以表示出來的最大值和最小值以及二進制數(shù)字的位數(shù)。
<cstdint>: int8_他int64_t等整數(shù)類型
<climits>: C風格數(shù)字限制,例如INT_MAX
<numeric> 數(shù)值算法的原型, 例如accumulate和inner_product
<random>: 隨機數(shù)生成
<ratio>: 有理數(shù)
<valarray>: 支持數(shù)值矢量的操作
內(nèi)存管理
<memory>: 分別支持共享shared_ptr,獨享unique_ptr的動態(tài)內(nèi)存分配)
<memory_resource>: 多態(tài)分配器和內(nèi)存資源
<new>:支持動態(tài)內(nèi)存分配 new、delete
<allocators>: 封裝堆內(nèi)存管理的對象
<scoped_allocator>: 容器的分配器
多線程處理
<csignal>: signal() raise() 信號處理
<atomic>: 原子類型atomic<T>和原子操作
<condition_variable>: 條件變量, 利用線程間共享的全局變量進行同步的一種機制
<future>: future promise async() 提供異步操作結(jié)果的機制,輕松解決從異步任務(wù)中返回結(jié)果
<mutex>: 互斥鎖
<shared_mutex>: 共享鎖
<thread>: 線程對象
<coroutine>: 協(xié)程支持庫
字符和字符串
<string>: 為字符串類型提供支持和定義,包括單字節(jié)字符串(由char組成)的string和多字節(jié)字符串(由wchar_t組成)
<string_view>: const string& 不會拷貝字符串
<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>: 正則表達式
時間
<chrono>: C++ 時間工具
<ctime>: C時間工具 time()、localtime()
以上就是常用的C++標準庫頭文件小結(jié)的詳細內(nèi)容,更多關(guān)于C++標準庫頭文件的資料請關(guān)注腳本之家其它相關(guān)文章!