最新国产AV资源网_亚洲熟女AV天堂五月天_中文字幕丶东京热_中文字幕乱码免费高清视频

Hi,您好,歡迎來到西安盛圖軟件科技有限公司!

C++ 標(biāo)準(zhǔn)庫

發(fā)布時(shí)間:2023-12-01 14:09:14

C++標(biāo)準(zhǔn)庫(C++ Standard Library),是類庫和函數(shù)的集合。C++編譯器廠商根據(jù)C++標(biāo)準(zhǔn)委員會官方的ISO規(guī)范并將其轉(zhuǎn)化為代碼。C++編譯器廠商在實(shí)現(xiàn)C++標(biāo)準(zhǔn)庫過程中必須依賴其不同操作系統(tǒng)所提供的系統(tǒng)調(diào)用接口,因此每個(gè)平臺都有其自己的C++標(biāo)準(zhǔn)庫實(shí)現(xiàn)。本文主要介紹C++ 標(biāo)準(zhǔn)庫。

1、語言支持功能庫

<cstddef>:定義宏NULL和offsetof以及其它標(biāo)準(zhǔn)類型size_t和ptrdiff_t。與對應(yīng)的標(biāo)準(zhǔn)C頭文件的區(qū)別是,NULL是C++空指針常量的補(bǔ)充定義(C++11中已有關(guān)鍵字nullptr),宏offsetof接受結(jié)構(gòu)或者聯(lián)合類型參數(shù),只要沒有成員指針類型的非靜態(tài)成員即可。

<limits>:提供與基本數(shù)據(jù)類型相關(guān)的定義。例如,對于每個(gè)數(shù)值數(shù)據(jù)類型,它定義了可以表示出來的最大值和最小值以及二進(jìn)制數(shù)字的位數(shù)。

<climits>:提供與基本整數(shù)數(shù)據(jù)類型相關(guān)的C樣式定義,C++樣式定義在<limits>中。

<cfloat>:提供與基本浮點(diǎn)型數(shù)據(jù)類型相關(guān)的C樣式定義,C++樣式定義在<limits>中。

<cstdlib>:提供支持程序啟動和終止的宏和函數(shù),還聲明了許多其他雜項(xiàng)函數(shù),例如搜索和排序函數(shù),從字符串轉(zhuǎn)換為數(shù)值等函數(shù)。<cstdlib>與對應(yīng)的標(biāo)準(zhǔn)C頭文件stdlib.h不同,定義了abort(void)。abort()函數(shù)還有額外的功能,它不為靜態(tài)或自動對象調(diào)用析構(gòu)函數(shù),也不調(diào)用傳給atexit()函數(shù)的函數(shù)。它還定義了exit()函數(shù)的額外功能,可以釋放靜態(tài)對象,以注冊的逆序調(diào)用用atexit()注冊的函數(shù)。清除并關(guān)閉所有打開的C流,把控制權(quán)返回給主機(jī)環(huán)境。

<new>:支持動態(tài)內(nèi)存分配。

<typeinfo>:支持變量在運(yùn)行期間的類型標(biāo)識。

<exception>:支持異常處理,是處理程序中可能發(fā)生的錯(cuò)誤的一種方式。

<cstdarg>:支持接受數(shù)量可變的參數(shù)的函數(shù)。即在調(diào)用函數(shù)時(shí),可以給函數(shù)傳送數(shù)量不等的數(shù)據(jù)項(xiàng)。定義了宏va_arg、va_end、va_start以及va_list類型。

<csetjmp>:為C樣式的非本地跳躍提供函數(shù),在C++中不常用。

<csignal>:為中斷處理提供C樣式支持。


2、流輸入/輸出

<iostream>:支持標(biāo)準(zhǔn)流cin、cout、cerr和clog的輸入和輸出,還支持多字節(jié)字符標(biāo)準(zhǔn)流wcin、wcout、wcerr和wclog。

<iomanip>:提供操縱程序,允許改變流的狀態(tài),從而改變輸出的格式。

<ios>:定義iostream的基類。

<istream>:為管理輸出流緩存區(qū)的輸入定義模板類。

<ostream>:為管理輸出流緩存區(qū)的輸出定義模板類。

<sstream>:支持字符串的流輸入輸出。

<fstream>:支持文件的流輸入輸出。

<iosfwd>:為輸入輸出對象提供向前的聲明。

<streambuf>:支持流輸入和輸出的緩存。

<cstdio>:為標(biāo)準(zhǔn)流提供C樣式的輸入和輸出。

<cwchar>:支持多字節(jié)字符的C樣式輸入輸出。


3、診斷功能

<stdexcept>:定義標(biāo)準(zhǔn)異常。

<cassert>:定義斷言宏,用于運(yùn)行時(shí)檢查。

<cerrno>:支持C樣式的錯(cuò)誤信息。


4、工具函數(shù)

<utility>:定義重載的關(guān)系運(yùn)算符,簡化關(guān)系運(yùn)算符的寫入,還定義了pair類型,pair類型是一種模板類型,可以存儲一對值。

<functional>:定義了許多函數(shù)對象類型和支持函數(shù)對象的功能,函數(shù)對象是支持operator()()函數(shù)調(diào)用運(yùn)算符的任意對象。

<memory>:給容器、管理內(nèi)存的函數(shù)和auto_ptr模板類定義標(biāo)準(zhǔn)內(nèi)存分配器。

<ctime>:支持系統(tǒng)時(shí)鐘函數(shù)。


5、字符串處理

<string>:為字符串類型提供支持和定義,包括單字節(jié)字符串(由char組成)的string和多字節(jié)字符串(由wchar_t組成)。

<cctype>:單字節(jié)字符類別。

<cwctype>:多字節(jié)字符類別。

<cstring>:為處理非空字節(jié)序列和內(nèi)存塊提供函數(shù)。不同于對應(yīng)的標(biāo)準(zhǔn)C庫頭文件,C樣式字符串的一般C庫函數(shù)被返回值為const和非const的函數(shù)對替代。

<cwchar>:為處理、執(zhí)行I/O和轉(zhuǎn)換多字節(jié)字符序列提供函數(shù),不同于對應(yīng)的標(biāo)準(zhǔn)C庫頭文件,幾個(gè)多字節(jié)C樣式字符串操作的一般C庫函數(shù)被返回值為const和非const的函數(shù)對替代。

<cstdlib>:為把單字節(jié)字符串轉(zhuǎn)換為數(shù)值、在多字節(jié)字符和多字節(jié)字符串之間轉(zhuǎn)換提供函數(shù)。


6、容器類模板

<vector>:定義vector序列模板,是一個(gè)大小可以重新設(shè)置的數(shù)組類型,比普通數(shù)組更安全、更靈活。

<list>:定義list序列模板,是一個(gè)序列的鏈表,常常在任意位置插入和刪除元素。

<deque>:定義deque序列模板,支持在開始和結(jié)尾的高效插入和刪除操作。

<queue>:為隊(duì)列(先進(jìn)先出)數(shù)據(jù)結(jié)構(gòu)定義序列適配器queue和priority_queue。

<stack>:為堆棧(后進(jìn)先出)數(shù)據(jù)結(jié)構(gòu)定義序列適配器stack。

<map>:map是一個(gè)關(guān)聯(lián)容器類型,允許根據(jù)鍵值是唯一的,且按照升序存儲。multimap類似于map,但鍵不是唯一的。

<set>:set是一個(gè)關(guān)聯(lián)容器類型,用于以升序方式存儲唯一值。multiset類似于set,但是值不必是唯一的。

<bitset>:為固定長度的位序列定義bitset模板,它可以看作固定長度的緊湊型bool數(shù)組。

<array>:(TR1)固定大小數(shù)組,支持復(fù)制。

<forward_list>:(c++11)單向列表,支持快速隨機(jī)訪問。

<unordered_set>:(TR1)無序容器set,其元素隨機(jī)存放。multiset類似于set,但是值不必是唯一的。

<unordered_map>:(TR1)無序容器map,其鍵值隨機(jī)存放。multimap類似于map,但鍵不是唯一的。


7、迭代器

<iterator>:給迭代器提供定義和支持。


8、算法庫

<algorithm>:提供一組基于算法的函數(shù),包括置換、排序、合并和搜索。

<cstdlib>:聲明C標(biāo)準(zhǔn)庫函數(shù)bsearch()和qsort(),進(jìn)行搜索和排序。

<ciso646>:允許在代碼中使用and代替&&。


9、數(shù)值操作庫

<complex>:支持復(fù)雜數(shù)值的定義和操作。

上一篇:C++ try catch 異常處理
下一篇:C++ 存儲類型

歡迎登錄盛圖科技

歡迎注冊盛圖科技

已有賬號,立即登錄