C++ 標準庫函數分類總結
數學函數(<cmath>)
基本運算函數
abs(x)
:返回整數或浮點數的絕對值。int a = abs(-5); // 返回 5
fabs(x)
:返回浮點數的絕對值。double b = fabs(-3.14); // 返回 3.14
fmod(x, y)
:計算x
除以y
的浮點余數。double c = fmod(5.3, 2.0); // 返回 1.3
remainder(x, y)
:計算x
除以y
的 IEEE 754 標準余數。double d = remainder(5.3, 2.0); // 返回 -0.7
指數與對數函數
exp(x)
:計算e
的x
次方。double e = exp(1.0); // 返回 2.71828
log(x)
:計算自然對數(以e
為底)。double f = log(2.71828); // 返回 1.0
log10(x)
:計算常用對數(以10
為底)。double g = log10(100.0); // 返回 2.0
pow(x, y)
:計算x
的y
次方。double h = pow(2.0, 3.0); // 返回 8.0
sqrt(x)
:計算平方根。double i = sqrt(16.0); // 返回 4.0
三角函數
sin(x)
:計算正弦值(弧度制)。double j = sin(M_PI / 2); // 返回 1.0
cos(x)
:計算余弦值(弧度制)。double k = cos(M_PI); // 返回 -1.0
tan(x)
:計算正切值(弧度制)。double l = tan(M_PI / 4); // 返回 1.0
asin(x)
、acos(x)
、atan(x)
:計算反三角函數。double m = asin(1.0); // 返回 π/2
雙曲函數
sinh(x)
、cosh(x)
、tanh(x)
:計算雙曲函數。double n = sinh(1.0); // 返回 1.1752
取整與舍入函數
ceil(x)
:向上取整。double o = ceil(3.2); // 返回 4.0
floor(x)
:向下取整。double p = floor(3.8); // 返回 3.0
round(x)
:四舍五入。double q = round(3.5); // 返回 4.0
trunc(x)
:截斷小數部分。double r = trunc(3.8); // 返回 3.0
其他數學函數
hypot(x, y)
:計算直角三角形的斜邊長度。double s = hypot(3.0, 4.0); // 返回 5.0
erf(x)
、erfc(x)
:計算誤差函數和互補誤差函數。double t = erf(1.0); // 返回 0.8427
tgamma(x)
、lgamma(x)
:計算伽馬函數及其對數。double u = tgamma(5.0); // 返回 24.0(4!)
字符串處理函數(<string>)
length()
/size()
:返回字符串長度。string str = "Hello"; int len = str.length(); // 返回 5
substr(pos, len)
:提取子字符串。string sub = str.substr(1, 3); // 返回 "ell"
find(str)
:查找子字符串位置。size_t pos = str.find("ell"); // 返回 1
replace(pos, len, str)
:替換字符串部分內容。str.replace(1, 3, "i"); // "Hi"
容器操作函數(<vector>, <map>)
push_back(val)
:向vector
末尾添加元素。vector<int> vec; vec.push_back(10); // vec = {10}
insert(it, val)
:在指定位置插入元素。vec.insert(vec.begin(), 5); // vec = {5, 10}
erase(it)
:刪除指定位置元素。vec.erase(vec.begin()); // vec = {10}
文件操作函數(<fstream>)
open(filename)
:打開文件。ofstream file("data.txt"); file.open("data.txt");
close()
:關閉文件。file.close();
getline(stream, str)
:逐行讀取文件內容。ifstream input("data.txt"); string line; getline(input, line);