C++ 标准库函数分类总结
数学函数(<cmath>)
基本运算函数
-
abs(x):返回整数或浮点数的绝对值。cppint a = abs(-5); // 返回 5 -
fabs(x):返回浮点数的绝对值。cppdouble b = fabs(-3.14); // 返回 3.14 -
fmod(x, y):计算x除以y的浮点余数。cppdouble c = fmod(5.3, 2.0); // 返回 1.3 -
remainder(x, y):计算x除以y的 IEEE 754 标准余数。cppdouble d = remainder(5.3, 2.0); // 返回 -0.7
指数与对数函数
-
exp(x):计算e的x次方。cppdouble e = exp(1.0); // 返回 2.71828 -
log(x):计算自然对数(以e为底)。cppdouble f = log(2.71828); // 返回 1.0 -
log10(x):计算常用对数(以10为底)。cppdouble g = log10(100.0); // 返回 2.0 -
pow(x, y):计算x的y次方。cppdouble h = pow(2.0, 3.0); // 返回 8.0 -
sqrt(x):计算平方根。cppdouble i = sqrt(16.0); // 返回 4.0
三角函数
-
sin(x):计算正弦值(弧度制)。cppdouble j = sin(M_PI / 2); // 返回 1.0 -
cos(x):计算余弦值(弧度制)。cppdouble k = cos(M_PI); // 返回 -1.0 -
tan(x):计算正切值(弧度制)。cppdouble l = tan(M_PI / 4); // 返回 1.0 -
asin(x)、acos(x)、atan(x):计算反三角函数。cppdouble m = asin(1.0); // 返回 π/2
双曲函数
-
sinh(x)、cosh(x)、tanh(x):计算双曲函数。cppdouble n = sinh(1.0); // 返回 1.1752
取整与舍入函数
-
ceil(x):向上取整。cppdouble o = ceil(3.2); // 返回 4.0 -
floor(x):向下取整。cppdouble p = floor(3.8); // 返回 3.0 -
round(x):四舍五入。cppdouble q = round(3.5); // 返回 4.0 -
trunc(x):截断小数部分。cppdouble r = trunc(3.8); // 返回 3.0
其他数学函数
-
hypot(x, y):计算直角三角形的斜边长度。cppdouble s = hypot(3.0, 4.0); // 返回 5.0 -
erf(x)、erfc(x):计算误差函数和互补误差函数。cppdouble t = erf(1.0); // 返回 0.8427 -
tgamma(x)、lgamma(x):计算伽马函数及其对数。cppdouble u = tgamma(5.0); // 返回 24.0(4!)
字符串处理函数(<string>)
-
length()/size():返回字符串长度。cppstring str = "Hello"; int len = str.length(); // 返回 5 -
substr(pos, len):提取子字符串。cppstring sub = str.substr(1, 3); // 返回 "ell" -
find(str):查找子字符串位置。cppsize_t pos = str.find("ell"); // 返回 1 -
replace(pos, len, str):替换字符串部分内容。cppstr.replace(1, 3, "i"); // "Hi"
容器操作函数(<vector>, <map>)
-
push_back(val):向vector末尾添加元素。cppvector<int> vec; vec.push_back(10); // vec = {10} -
insert(it, val):在指定位置插入元素。cppvec.insert(vec.begin(), 5); // vec = {5, 10} -
erase(it):删除指定位置元素。cppvec.erase(vec.begin()); // vec = {10}
文件操作函数(<fstream>)
-
open(filename):打开文件。cppofstream file("data.txt"); file.open("data.txt"); -
close():关闭文件。cppfile.close(); -
getline(stream, str):逐行读取文件内容。cppifstream input("data.txt"); string line; getline(input, line);