哪裡有C++標準庫?

yuuuu_蕭蕭


1.C++標準定義了龐大且功能豐富的標準庫,其內容分為10類,包括:

C1語言支持 C2輸入/輸出 C3診斷功能

C4通用工具 C5字符串 C6容器

C7迭代器 C8算法 C9數值操作

C10本地化


2.C++標準庫所有的頭文件都沒有擴展名(.h),內容總共在51個標準頭文件中定義。其中18個<cname> 形式的頭文件(<complex>除外)內容與標準C語言的name.h頭文件相同,但包含了C++擴展的功能。/<complex>/<cname>

在<cname>形式的頭文件中,與宏定義相關的名稱在全局作用域中定義,其他名稱在std命名空間中聲明。/<cname>

另外,在C++中還可以使用name.h形式的C語言頭文件,但不建議這樣用。

表1 C++標準庫索引

C++標準庫由三組庫構成:

(1)C庫:由C標準庫擴展而來,強調結構、函數和過程,不支持面向對象技術。

(2)C++庫:增加了面向對象的庫,包含了既有關鍵功能的類

(3)標準模板庫(STL):高效的C++程序庫。該庫包含了諸多在計算機科學領域裡所常用的基本數據結構和基本算法。

以上庫文件都被定義在namespace std 中。

C++庫可以不規定頭文件的擴展名。

C標準庫

1)<cmath>:提供給了22個不同的數學函數,如abs()、sqrt()、exp()等。/<cmath>

2)<cstdlib>:提供了常用的數學函數,3個特殊函數和2個常量。/<cstdlib>

exit():退出程序,清除靜態對象

abort():強制退出程序

atexit():將一個函數作為參數並在程序退出時調用

EXIT_SUCCESS:程序已經正常完成

EXIT_FAULURE:程序正常結束

3)<cassert>:定義了一個函數assert,用來測試一個條件,並在條件為假時強制程序退出。通常用來判斷內存分配是否成功。/<cassert>

4)<cctype>:提供了確定字符類型的功能。可以判斷一個字符是否為數字字符、圖形字符、小寫、大寫或空格並可以將字符進行大小寫轉換。/<cctype>

5)<cerrno>:定義了一個變量,用它可以確定程序中發生的錯誤的類型。/<cerrno>

C++類庫

1)<string>:支持字符串處理的類庫/<string>

2)<complex>:提供了複數的表示和算法/<complex>

float_complex類

double_complex類

long_double_complex類

3)定義了I/O流類的虛基類ios,通常不直接用它。

4)<iostream>:標準I/O流類庫,提供了cin、cout等全局對象類來支持輸入輸出功能/<iostream>

5)<istream>:輸入流類庫/<istream>

6)<ostream>:輸出流類庫/<ostream>

7)<fstream>:讀寫文件的類/<fstream>

標準模板庫STL

在標準庫中,容器、迭代器、算法和數值操作合稱為標準模板庫。

STL被組織為以下13個頭文件:<algorithm>,<deque>,<functional>,<iterator>,<vector>,<list>,,<memory>,<numeric>,<queue>,,<stack>,和<utility>。/<utility>/<stack>/<queue>/<numeric>/<memory>/<list>/<vector>/<iterator>/<functional>/<deque>/<algorithm>

幾乎所有的標準模板代碼採用了類模板和函數模板的形式,因此相比於傳統的由函數和類組成的庫來說STL提供了更好的代碼重用。

<algothrithm>:提供了通用的算數算法和STL的一般算法。/<algothrithm>

sort:以升序重新排列範圍內的元素

swap:交換存儲在兩個對象中的值

max_element:指出序列中最大的元素

find:對範圍內的元素進行查找

copy:複製序列

replace:將範圍內的所有等於old_value的元素都用new_value替代。

<numerialc>:提供了4類對序列進行數字處理的算法/<numerialc>

accumulate:累加

product:內乘

partial_sum:部分和

adjacent_difference():鄰接差值


Echa攻城獅


c++只有標準沒有庫,庫都是各個編譯器自己按標準搞,雖然都是各家自己搞,但是實現方式基本都差不多


姓wang有錯嗎


隨便安裝一個比較新版本的編譯,內部都帶了標準庫


分享到:


相關文章: