当前位置: 首页 > news >正文

第十二天:C++ 标准库函数分类总结

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):计算 ex 次方。
    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):计算 xy 次方。
    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);
    
http://www.lryc.cn/news/605026.html

相关文章:

  • spark入门-helloword
  • 干货 | ANSYS复合材料前后处理
  • 跨云部署实战:前端、后端 + RSYNC、全栈场景统一落地方案
  • Nestjs框架: 关于 OOP / FP / FRP 编程
  • Map 集合
  • 高可靠液晶屏系统解决方案深度解析
  • AI 驱动的软件测试革新:框架、检测与优化实践
  • 原生C++实现信号与槽机制:原理详解
  • 如何选择GEO优化公司哪家好?
  • Apache FOP实践——pdf模板引擎
  • 推扫式和凝视型高光谱相机分别采用哪些分光方式?
  • MaxKB+MinerU:通过API实现PDF文档解析并存储至知识库
  • 梳理Ego-Planner模式下5通道、6通道与无人机模式的关系
  • Camera相机人脸识别系列专题分析之十九:MTK ISP6S平台FDNode传递三方FFD到APP流程解析
  • 不可变类字段修复建议
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘dash’问题
  • Python 程序设计讲义(43):组合数据类型——元组类型:元组的常用操作
  • WSL2搭建基于Docker的ESP32开发环境
  • 机器学习项目完整流程详解
  • 基于C-MTEB/CMedQAv2-rerankingv的Qwen3-1.7b模型微调-demo
  • Android基础(二)了解Android项目
  • 端侧大模型迎来“轻”革命!移远通信 × RWKV 打造“轻量AI大脑”
  • 单片机电路基础
  • 【NCS随笔】如何在hello_world添加蓝牙功能(一)
  • sqli-labs:Less-7关卡详细解析
  • 国内数据集成厂商有哪些?如何选择最适合的数据集成平台?
  • Qt 与物联网(IoT)开发
  • 【Linux】重生之从零开始学习运维之备份恢复
  • String模拟实现的补充说明
  • 第1课:向量与矩阵运算