2020-11-17 1)C标准库头文件 2)C ++标准库标头
1.C標準庫頭文件
? https://en.cppreference.com/w/c/header ?C標準庫的接口由以下標頭集合定義。
| <assert.h> | 有條件編譯的宏,將其參數與零進行比較 |
| <complex.h>?(C99) | 復數算法 |
| <ctype.h> | 確定字符數據中包含的類型的函數 |
| <errno.h> | 宏報告錯誤情況 |
| <fenv.h>?(C99) | 浮點環境 |
| <float.h> | 浮動類型的限制 |
| <inttypes.h>?(C99) | 整數類型的格式轉換 |
| <iso646.h>?(C95) | 備用運算符拼寫 |
| <limits.h> | 基本類型的大小 |
| <locale.h> | 本地化實用程序 |
| <math.h> | 常用數學功能 |
| <setjmp.h> | 非本地跳 |
| <signal.h> | 信號處理 |
| <stdalign.h>?(C11) | alignas和alignof便利宏 |
| <stdarg.h> | 可變參數 |
| <stdatomic.h>?(C11) | 原子類型 |
| <stdbool.h>?(C99) | 布爾類型的宏 |
| <stddef.h> | 通用宏定義 |
| <stdint.h>?(C99) | 定寬整數類型 |
| <stdio.h> | 輸入輸出 |
| <stdlib.h> | 通用實用程序:內存管理,程序實用程序,字符串轉換,隨機數 |
| <stdnoreturn.h>?(C11) | noreturn便利宏 |
| <string.h> | 字符串處理 |
| <tgmath.h>?(C99) | 類型通用數學(宏包裝math.h和complex.h) |
| <threads.h>?(C11) | 線程庫 |
| <time.h> | 時間/日期實用程序 |
| <uchar.h>?(C11) | UTF-16和UTF-32字符實用程序 |
| <wchar.h>?(C95) | 擴展的多字節和寬字符實用程序 |
| <wctype.h>?(C95) | 確定寬字符數據中包含的類型的函數 |
參考文獻
- C17標準(ISO / IEC 9899:2018):
- 7.1.2標準頁眉(p:131-132)
- C11標準(ISO / IEC 9899:2011):
- 7.1.2標準頁眉(p:181-182)
- C99標準(ISO / IEC 9899:1999):
- 7.1.2標準頁眉(p:165)
- C89 / C90標準(ISO / IEC 9899:1990):
- 4.1.2標準頭
也可以看看
| C ++文檔的C ++標準庫頭文件 |
?
2.C ++標準庫標頭
? https://en.cppreference.com/w/cpp/header C ++ ? 標準庫標題 ?C ++標準庫的接口由以下標頭集合定義。
概念庫 | |
| <概念> (C ++ 20) | 基本圖書館概念 |
協程庫 | |
| <協程> (C ++ 20) | 協程支持庫 |
實用程序庫 | |
| <cstdlib> | 通用工具:程序控制,動態內存分配,隨機數,排序和搜索 |
| <信號> | 用于信號管理的函數和宏常量 |
| <csetjmp> | 保存(并跳轉)到執行上下文的宏(和函數) |
| <cstdarg> | 變長參數列表的處理 |
| <typeinfo> | 運行時類型信息實用程序 |
| <typeindex> (C ++ 11) | std :: type_index |
| <type_traits> (C ++ 11) | 編譯時類型信息 |
| <位集> | std :: bitset類模板 |
| <功能> | 函數對象,函數調用,綁定操作和引用包裝器 |
| <實用程序> | 各種實用程序組件 |
| <ctime> | C風格的時間/日期工具 |
| <chrono> (C ++ 11) | C ++時間效用 |
| <cstddef> | 標準宏和typedef |
| <initializer_list> (C ++ 11) | std :: initializer_list類模板 |
| <元組> (C ++ 11) | std :: tuple類模板 |
| <任何> (C ++ 17) | std ::任何類 |
| <可選> (C ++ 17) | std :: Optional類模板 |
| <變體> (C ++ 17) | std :: variant類模板 |
| <比較> (C ++ 20) | 三向比較運算符支持 |
| <版本> (C ++ 20) | 提供依賴于實現的庫信息 |
| <源位置> (C ++ 20) | 耗材獲取源代碼位置的方法 |
| 動態內存管理 | |
| <新> | 低級內存管理實用程序 |
| <內存> | 高級內存管理實用程序 |
| <scoped_allocator> (C ++ 11) | 嵌套分配器類 |
| <memory_resource> (C ++ 17) | 多態分配器和內存資源 |
| 數值限制 | |
| <climits> | 整數類型的限制 |
| <cfloat> | 浮點類型的限制 |
| <cstdint> (C ++ 11) | 定寬整數類型和其他類型的限制 |
| <cinttypes> (C ++ 11) | 格式宏,intmax_t以及uintmax_t數學和轉換 |
| <限制> | 查詢算術類型屬性的統一方法 |
| 錯誤處理 | |
| <例外> | 異常處理實用程序 |
| <stdexcept> | 標準異常對象 |
| <紙盒> | 有條件編譯的宏,將其參數與零進行比較 |
| <系統錯誤> (C ++ 11) | 定義std :: error_code,它是平臺相關的錯誤代碼 |
| <cerrno> | 包含最后一個錯誤號的宏 |
字符串庫 | |
| <cctype> | 確定窄字符類別的功能 |
| <cwctype> | 確定寬字符類別的功能 |
| <cstring> | 各種窄字符串處理功能 |
| <cwchar> | 各種寬和多字節字符串處理功能 |
| <cuchar> (C ++ 11) | C樣式Unicode字符轉換功能 |
| <string> | std :: basic_string類模板 |
| <string_view> (C ++ 17) | std :: basic_string_view類模板 |
| <charconv> (C ++ 17) | 的std :: to_chars和性病:: from_chars |
| <格式> (C ++ 20) | 格式化庫,包括std :: format |
容器庫 | |
| <數組> (C ++ 11) | std :: array容器 |
| <向量> | std :: vector容器 |
| <雙端隊列> | std :: deque容器 |
| <列表> | std :: list容器 |
| <轉發列表> (C ++ 11) | std :: forward_list容器 |
| <設置> | std :: set和std :: multiset關聯容器 |
| <地圖> | std :: map和std :: multimap關聯容器 |
| <無序集> (C ++ 11) | std :: unordered_set和std :: unordered_multiset無序關聯容器 |
| <unordered_map> (C ++ 11) | std :: unordered_map和std :: unordered_multimap無序關聯容器 |
| <堆棧> | std :: stack容器適配器 |
| <隊列> | std :: queue和std :: priority_queue容器適配器 |
| <span> (C ++ 20) | std :: span視圖 |
迭代器庫 | |
| <迭代器> | 范圍迭代器 |
范圍庫 | |
| <范圍> (C ++ 20) | 范圍訪問,原語,需求,實用程序和適配器 |
算法庫 | |
| <算法> | 在范圍上運行的算法 |
| <執行> (C ++ 17) | 并行版本算法的預定義執行策略 |
數值庫 | |
| <cmath> | 常用數學功能 |
| <復雜> | 復數類型 |
| <valarray> | 用于表示和操縱值數組的類 |
| <隨機> (C ++ 11) | 隨機數生成器和分布 |
| <數字> | 對范圍內的值進行數值運算 |
| <比率> (C ++ 11) | 編譯時有理算術 |
| <cfenv> (C ++ 11) | 浮點環境訪問功能 |
| <位> (C ++ 20) | 位操作功能 |
| <數字> (C ++ 20) | 數學常數 |
本地化庫 | |
| <語言環境> | 本地化實用程序 |
| <clocale> | C語言本地化實用程序 |
| <codecvt> (C ++ 11)(在C ++ 17中已棄用) | Unicode轉換工具 |
輸入/輸出庫 | |
| <iosfwd> | 在輸入/輸出庫中轉發所有類的聲明 |
| <ios> | std :: ios_base類,?std :: basic_ios類模板和幾個typedef |
| <istream> | std :: basic_istream類模板和幾個typedef |
| <ostream> | std :: basic_ostream,?std :: basic_iostream類模板和幾個typedef |
| <iostream> | 幾個標準流對象 |
| <fstream> | std :: basic_fstream,?std :: basic_ifstream,?std :: basic_ofstream類模板和幾個typedef |
| <流> | std :: basic_stringstream,?std :: basic_istringstream,?std :: basic_ostringstream類模板和幾個typedef |
| <syncstream> (C ++ 20) | std :: basic_osyncstream,std :: basic_syncbuf和typedef |
| <strstream> (在C ++ 98中已棄用) | std :: strstream,?std :: istrstream,?std :: ostrstream |
| <iomanip> | 輔助函數來控制輸入和輸出的格式 |
| <streambuf> | std :: basic_streambuf類模板 |
| <cstdio> | C風格的輸入輸出功能 |
文件系統庫 | |
| <文件系統> (C ++ 17) | std :: path類和支持功能 |
正則表達式庫 | |
| <正則表達式> (C ++ 11) | 支持正則表達式處理的類,算法和迭代器 |
原子操作庫 | |
| <原子> (C ++ 11) | 原子操作庫 |
線程支持庫 | |
| <線程> (C ++ 11) | std :: thread類和支持功能 |
| <stop_token> (C ++ 20) | 停止std :: jthread的令牌 |
| <互斥體> (C ++ 11) | 互斥原語 |
| <shared_mutex> (C ++ 14) | 共享互斥原語 |
| <未來> (C ++ 11) | 異步計算的基元 |
| <condition_variable> (C ++ 11) | 線程等待條件 |
| <信號燈> (C ++ 20) | 信號量 |
| <閂鎖> (C ++ 20) | 鎖存器 |
| <障礙> (C ++ 20) | 壁壘 |
C兼容性標頭
對于表單的某些C標準庫標頭?xxx。H,C ++標準庫都包含一個名稱相同的標頭和該格式的另一個標頭?cxxx?(全部有意義?cxxx?標頭在上面列出)。
除了?復雜。H?,每個?xxx。H?C ++標準庫中包含的標頭在全局名稱空間中放置了每個名稱,?cxxx?標頭應該放在?性病?命名空間。
這些標頭還可以在?性病?命名空間,以及相應的?cxxx?標頭還可以在全局名稱空間中聲明相同的名稱:包括<cstdlib>絕對可以提供?std ::?malloc?并可能提供?::?malloc。包括<stdlib.h>絕對可以提供::?malloc?并可能提供?std ::?malloc。這甚至適用于不屬于C標準庫的函數和函數重載。
| <assert.h> (已棄用) | 行為與<cassert>相同 |
| <ctype.h> (已棄用) | 行為似乎來自<cctype>的每個名稱都放在全局命名空間中 |
| <errno.h> (已棄用) | 行為與<cerrno>相同 |
| <fenv.h> (C ++ 11)(已棄用) | 行為好像<cfenv>中的每個名稱都放在全局名稱空間中 |
| <float.h> (已棄用) | 行為與<cfloat>相同 |
| <inttypes.h> (C ++ 11)(已棄用) | 行為似乎來自<cinttypes>的每個名稱都放在全局命名空間中 |
| <limits.h> (已棄用) | 行為與<climits>相同 |
| <locale.h> (已棄用) | 行為似乎來自<clocale>的每個名稱都放在全局名稱空間中 |
| <math.h> (已棄用) | 行為,就好像<cmath>中的每個名稱都放在全局命名空間中一樣,數學特殊功能的 名稱除外 |
| <setjmp.h> (已棄用) | 行為似乎來自<csetjmp>的每個名稱都放在全局名稱空間中 |
| <signal.h> (已棄用) | 行為似乎來自<csignal>的每個名稱都放在全局命名空間中 |
| <stdarg.h> (已棄用) | 行為似乎來自<cstdarg>的每個名稱都放在全局命名空間中 |
| <stddef.h> (已棄用) | 行為好像<cstddef>中的每個名稱都放在全局命名空間中, 但函數名稱和相關函數除外std::byte |
| <stdint.h> (C ++ 11)(已棄用) | 行為似乎來自<cstdint>的每個名稱都放在全局命名空間中 |
| <stdio.h> (已棄用) | 行為似乎來自<cstdio>的每個名稱都放在全局名稱空間中 |
| <stdlib.h> (已棄用) | 行為似乎來自<cstdlib>的每個名稱都放在全局名稱空間中 |
| <string.h> (已棄用) | 行為似乎來自<cstring>的每個名稱都放在全局名稱空間中 |
| <time.h> (已棄用) | 行為似乎來自<ctime>的每個名稱都放在全局名稱空間中 |
| <uchar.h> (C ++ 11)(已棄用) | 行為似乎來自<cuchar>的每個名稱都放在全局名稱空間中 |
| <wchar.h> (已棄用) | 行為似乎來自<cwchar>的每個名稱都放在全局名稱空間中 |
| <wctype.h> (已棄用) | 行為似乎來自<cwctype>的每個名稱都放在全局名稱空間中 |
空的C標頭
標頭<complex.h>,<ccomplex>,<tgmath.h>,和<ctgmath>不包含C標準庫中的任何內容,而是僅僅包括C ++標準庫中的其他頭。在C ++中,不建議使用所有這些標頭。
| <ccomplex> (C ++ 11)(在C ++ 17中棄用)(在C ++ 20中刪除) | 僅包含標頭<complex> |
| <complex.h> (C ++ 11)(已棄用) | 僅包含標頭<complex> |
| <ctgmath> (C ++ 11)(在C ++ 17中棄用)(在C ++ 20中刪除) | 僅包含標頭<complex>和<cmath>:tgmath.h這些標頭已經提供了與C標頭內容等效的重載 |
| <tgmath.h> (C ++ 11)(已棄用) | 僅包含標頭<complex>和<cmath> |
無意義的C標頭
標頭<ciso646>,<cstdalign>和<cstdbool>在C ++中沒有意義,因為它們在C中提供的宏是C ++中的語言關鍵字。
| <ciso646> (在C ++ 20中已刪除) | 空標題。在C中出現的宏是iso646.hC ++中的關鍵字 |
| <iso646.h> (已棄用) | 沒有效果 |
| <cstdalign> (C ++ 11)(在C ++ 17中棄用)(在C ++ 20中刪除) | 定義一個兼容性宏常量 |
| <stdalign.h> (C ++ 11)(已棄用) | 定義一個兼容性宏常量 |
| <cstdbool> (C ++ 11)(在C ++ 17中棄用)(在C ++ 20中刪除) | 定義一個兼容性宏常量 |
| <stdbool.h> (C ++ 11)(已棄用) | 定義一個兼容性宏常量 |
不支援的C標頭
C標頭<stdatomic.h>,<stdnoreturn.h>和<threads.h>不包含在C ++中,并且沒有cxxx?等價物。
實驗庫
C ++ TR / TS還定義了標頭的多個集合。
也可以看看
| C文檔的C標準庫頭文件 |
總結
以上是生活随笔為你收集整理的2020-11-17 1)C标准库头文件 2)C ++标准库标头的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Kubernetes存储篇】Stora
- 下一篇: 使用Docker安装Guacamole远