C++学习笔记(5):C++函数新特性

注:转载请标明原文出处链接: https://lvxiaowen.blog.csdn.net/article/details/107009393

1 函数参数默认值

(1) 有默认值参数值的参数必须在参数表的最右端
(2) 函数在声明时可以写参数默认值,但是在定义时最好不要写默认值
(3) 无实参则用默认值,有实参时实参覆盖默认值
在这里插入图片描述
在这里插入图片描述

2 函数重载

定义:在相同作用域内,用同一函数名定义的多个函数,参数个数参数类型参数类型不同。

在这里插入图片描述
函数重载示例:

#include <iostream>
using namespace std;

void fun(int i = 30, int j = 20, int k = 10);
void fun(double i, double j);

int main(void)
{
	fun(1, 2);
	fun(1.1, 2.2);
	system("pause");
	return 0;
}

void fun(int i, int j, int k)
{
	cout << i << ',' << j << ',' << k << endl;
}
void fun(double i, double j)
{
	cout << i << ',' << j << endl;
}

执行结果:
在这里插入图片描述


思考:编译器如何识别重载的函数?
当调用一个重载函数时,编译器通过把所使用的参数类型与定义中的参数类型进行比较,决定选用最合适的定义。

在这里插入图片描述
重载的好处:比如求最大值(有时候要求两个数的最大值,有时候三个数),根据参数及返回值的不同,调用最合适的函数。

3 内联函数

内联函数关键字:inline

在这里插入图片描述
内联函数与普通函数定义上无太大差别,在调用上区别如下:

在这里插入图片描述
在这里插入图片描述
内联编译是建议性的,由编译器决定,内联函数效率高。
逻辑简单,调用频繁的函数建议使用内联。内联函数中不能使用循环语句和递归。

4 内容总结

在这里插入图片描述

参考资料

[1] https://www.imooc.com/learn/381

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值