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

C++学习-函数

C++ 函数

目录

  • 函数默认参数
  • 引用传参
  • 函数重载
    • 数量不同
    • 类型不同
  • 内联函数

函数默认参数

#include<iostream>using std::cout;
using std::endl;int power(int n, int x=2); // x=2 是默认参数int main() {cout << power(5) << endl; // 没有传 x 的值,用默认值 x=2cout << power(4, 3) << endl; // 传了 x 的值,用传的 x 的值return 0;
}int power(int n, int x) {return n * x;
}

注意:默认参数只能放在形参列表的结尾,避免歧义。

引用传参

引用传参:& 紧跟在数据类型后面,相当于直接拿原件进行操作。

void swap(int& a, int& b) {int temp = a;a = b;b = temp; // 交换值
}int main() {int m = 1, n = 99;swap(m, n);cout << m << '\t' << n; // 输出 99 1return 0;
}

函数重载

数量不同

int add(int a, int b) {return a + b;
}int add(int a, int b, int c) {return a + b + c;
}cout << add(1, 2) << endl;
cout << add(1, 2, 3) << endl;

编译器会根据参数数量选择对应的函数。

类型不同

string myAdd(int a, int b) {return to_string(a + b);
}string myAdd(int a, string s) {return to_string(a) + s;
}

注意:有可能因为数量和类型相同而匹配错误,应避免歧义。

内联函数

内联函数:如果函数功能简单且反复调用,使用 inline 关键字减少调用开销。这是一个给编译器的建议,不是一定会被内联。

inline int getMax(int a, int b, int c) {return a > b ? (a > c ? a : c) : (b > c ? b : c);
}int main() {cout << getMax(1, 2, 3) << endl;cout << getMax(4, 2, 3) << endl;cout << getMax(1, 5, 3) << endl;// 如果编译器接受建议,这些调用会在编译的时候直接展开成函数内容return 0;
}
http://www.lryc.cn/news/499044.html

相关文章:

  • spring boot 测试 mybatis mapper类
  • 远程游戏新体验!
  • Let up bring up a linux.part2 [十一]
  • 调用大模型api 批量处理图像 保存到excel
  • 使用 Flownex 模拟热环境对原油运输的影响
  • 【WRF-Urban】WPS中有关Urban的变量设置
  • Socket编程-tcp
  • Redis 之持久化
  • 视频监控汇聚平台:Liveweb安防监控平台实现接入监控视频集中管理方案
  • ABAP - 系统集成之SAP的数据同步到OA(泛微E9)服务器数据库
  • uniapp使用ucharts修改Y、X轴标题超出换行
  • 三分钟详细解读什么是Ecovadis认证?
  • spring6:4、原理-手写IoC
  • 爬取的数据能实时更新吗?
  • Linux 下使用飞鸽传书实现与Windows飞秋的通信
  • MongoDB分片集群搭建及扩容
  • qt QSettings详解
  • 【Linux】ubuntu下一键配置vim
  • 【NLP 9、实践 ① 五维随机向量交叉熵多分类】
  • 信息系统安全防护攻防对抗式实验教学解决方案
  • 【笔记2-4】ESP32:freertos任务创建
  • 2024年12月6日Github流行趋势
  • matlab读取NetCDF文件
  • RDMA驱动学习(三)- cq的创建
  • Flask使用Celery与多进程管理:优雅处理长时间任务与子进程终止技巧(multiprocessing)(subprocess)
  • Django模板系统
  • 15. 文件操作
  • 清风数学建模学习笔记——Topsis法
  • 组合总和习题分析
  • 基于eFramework车控车设中间件介绍