1.C++標準定義了龐大且功能豐富的標準庫,其內容分為10類,包括:
C1語言支援 C2輸入/輸出 C3診斷功能
C4通用工具 C5字串 C6容器
C7迭代器 C8演算法 C9數值操作
C10本地化
2.C++標準庫所有的標頭檔案都沒有副檔名(.h),內容總共在51個標準標頭檔案中定義。其中18個<cname> 形式的標頭檔案(<complex>除外)內容與標準C語言的name.h標頭檔案相同,但包含了C++擴充套件的功能。
在<cname>形式的標頭檔案中,與宏定義相關的名稱在全域性作用域中定義,其他名稱在std名稱空間中宣告。
另外,在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()等。
2)<cstdlib>:提供了常用的數學函式,3個特殊函式和2個常量。
exit():退出程式,清除靜態物件
abort():強制退出程式
atexit():將一個函式作為引數並在程式退出時呼叫
EXIT_SUCCESS:程式已經正常完成
EXIT_FAULURE:程式正常結束
3)<cassert>:定義了一個函式assert,用來測試一個條件,並在條件為假時強制程式退出。通常用來判斷記憶體分配是否成功。
4)<cctype>:提供了確定字元型別的功能。可以判斷一個字元是否為數字字元、圖形字元、小寫、大寫或空格並可以將字元進行大小寫轉換。
5)<cerrno>:定義了一個變數,用它可以確定程式中發生的錯誤的型別。
C++類庫
1)<string>:支援字串處理的類庫
2)<complex>:提供了複數的表示和演算法
float_complex類
double_complex類
long_double_complex類
3)<ios>定義了I/O流類的虛基類ios,通常不直接用它。
4)<iostream>:標準I/O流類庫,提供了cin、cout等全域性物件類來支援輸入輸出功能
5)<istream>:輸入流類庫
6)<ostream>:輸出流類庫
7)<fstream>:讀寫檔案的類
標準模板庫STL
在標準庫中,容器、迭代器、演算法和數值操作合稱為標準模板庫。
STL被組織為以下13個頭檔案:<algorithm>,<deque>,<functional>,<iterator>,<vector>,<list>,<map>,<memory>,<numeric>,<queue>,<set>,<stack>,和<utility>。
幾乎所有的標準模板程式碼採用了類模板和函式模板的形式,因此相比於傳統的由函式和類組成的庫來說STL提供了更好的程式碼重用。
<algothrithm>:提供了通用的算數演算法和STL的一般演算法。
sort:以升序重新排列範圍內的元素
swap:交換儲存在兩個物件中的值
max_element:指出序列中最大的元素
find:對範圍內的元素進行查詢
copy:複製序列
replace:將範圍內的所有等於old_value的元素都用new_value替代。
<numerialc>:提供了4類對序列進行數字處理的演算法
accumulate:累加
product:內乘
partial_sum:部分和
adjacent_difference():鄰接差值
1.C++標準定義了龐大且功能豐富的標準庫,其內容分為10類,包括:
C1語言支援 C2輸入/輸出 C3診斷功能
C4通用工具 C5字串 C6容器
C7迭代器 C8演算法 C9數值操作
C10本地化
2.C++標準庫所有的標頭檔案都沒有副檔名(.h),內容總共在51個標準標頭檔案中定義。其中18個<cname> 形式的標頭檔案(<complex>除外)內容與標準C語言的name.h標頭檔案相同,但包含了C++擴充套件的功能。
在<cname>形式的標頭檔案中,與宏定義相關的名稱在全域性作用域中定義,其他名稱在std名稱空間中宣告。
另外,在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()等。
2)<cstdlib>:提供了常用的數學函式,3個特殊函式和2個常量。
exit():退出程式,清除靜態物件
abort():強制退出程式
atexit():將一個函式作為引數並在程式退出時呼叫
EXIT_SUCCESS:程式已經正常完成
EXIT_FAULURE:程式正常結束
3)<cassert>:定義了一個函式assert,用來測試一個條件,並在條件為假時強制程式退出。通常用來判斷記憶體分配是否成功。
4)<cctype>:提供了確定字元型別的功能。可以判斷一個字元是否為數字字元、圖形字元、小寫、大寫或空格並可以將字元進行大小寫轉換。
5)<cerrno>:定義了一個變數,用它可以確定程式中發生的錯誤的型別。
C++類庫
1)<string>:支援字串處理的類庫
2)<complex>:提供了複數的表示和演算法
float_complex類
double_complex類
long_double_complex類
3)<ios>定義了I/O流類的虛基類ios,通常不直接用它。
4)<iostream>:標準I/O流類庫,提供了cin、cout等全域性物件類來支援輸入輸出功能
5)<istream>:輸入流類庫
6)<ostream>:輸出流類庫
7)<fstream>:讀寫檔案的類
標準模板庫STL
在標準庫中,容器、迭代器、演算法和數值操作合稱為標準模板庫。
STL被組織為以下13個頭檔案:<algorithm>,<deque>,<functional>,<iterator>,<vector>,<list>,<map>,<memory>,<numeric>,<queue>,<set>,<stack>,和<utility>。
幾乎所有的標準模板程式碼採用了類模板和函式模板的形式,因此相比於傳統的由函式和類組成的庫來說STL提供了更好的程式碼重用。
<algothrithm>:提供了通用的算數演算法和STL的一般演算法。
sort:以升序重新排列範圍內的元素
swap:交換儲存在兩個物件中的值
max_element:指出序列中最大的元素
find:對範圍內的元素進行查詢
copy:複製序列
replace:將範圍內的所有等於old_value的元素都用new_value替代。
<numerialc>:提供了4類對序列進行數字處理的演算法
accumulate:累加
product:內乘
partial_sum:部分和
adjacent_difference():鄰接差值