1.0 C++远征:函数参数默认值、函数重载、内联函数
2016-11-18 本文已影响35人
青_阳
C++远征
[TOC]
一、函数参数默认值
1.函数参数默认值的声明
![](https://img.haomeiwen.com/i3736230/d3e19002aee53362.png)
如:void fun(int i, int j, int k=10);
或:void fun(int i, int j=5, int k=10);
或:void fun(int i=0, int j=5, int k=10);
2.函数参数默认值的定义
![](https://img.haomeiwen.com/i3736230/d516e9be7fe57b92.png)
最好是在声明处给初值,而定义处不要给初值。
3.函数参数默认值赋值
![](https://img.haomeiwen.com/i3736230/9ca23aababe44d2e.png)
二、函数重载
1.函数重载的概念
![](https://img.haomeiwen.com/i3736230/f3b6eb55fe9f76ac.png)
2.函数重载的原理
![](https://img.haomeiwen.com/i3736230/1a8c6c0b88bb6e26.png)
编译器编译是展开为带参数数据类型的别名,用以区分同名重载函数
三、内联函数
1.内联函数的概念
![](https://img.haomeiwen.com/i3736230/686705306fe8a6fd.png)
编译时编译器将代码展开至调用处
2.内联函数的好处
-
内联函数能节省调用函数的开销。
-
那为什么不是所有函数都声明成内联函数呢?
(1)内联编译是建议性的,由编译器决定。
(2)逻辑简单,调用频繁的函数才建议使用内联。
(3)递归函数无法使用内联方式。