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);