一、内联函数
是C++为提高程序运行速度所做的一项改进
与常规函数的区别不在于编写方式,而在于被调用时得运行机制不同
编译器将函数调用处的代码直接替换为函数体的实际代码
使用建议:
如果执行函数代码的时间比处理函数调用机制的时间长,则节省的时间将只占整个过程的很小部分。
如果代码执行时间很短,内联调用就可以节省大部分时间。
二、使用内联特性
二者采取其一(二选一):
在函数声明前加关键字 inline
在函数定义前加关键字 inline
三、内联函数的前世今生
#include <iostream>
#define N 5 //以后在使用 N 的所有场合,都会被自动替换成 5
#define S(num) num*num //宏定义了一个s(num)函数
//以后在所有使用s(num)的地方,就自动替换成 num * num
using namespace std;
//内联 : 替换
//内联函数可以解决宏定义的缺陷,但是必须指定类型
inline int Mult(int); //函数声明为内联函数
int main()
{
int result1 = S(5); // 25
double result2 = S(2.5); // 6.25
int result11 = S(5+10); // 65
//s(5+10) --->5 + 10 * 5 + 10 = 65
//此为宏定义的重大缺陷
int Mresult = Mult(5+5); // 100
return 0;
}
int Mult(int n){
return n*n;
}