c++中, 通过在函数返回值前加上关键字inline来实现
内联函数是是一种机制,我们程序员声明内联函数后,完全不用关心它究竟如何实现的,跟正常的函数调用是一样的。
#include<iostream>
using namespace std;
//内联函数定义
inline void printA() {
int a = 10;
cout << "a = " << a << endl;
}
int main() {
//内联函数的调用
printA();
system("pause");
}
既然是内联函数,肯定是与普通函数有不同的地方,主要区别在于:
1. c++对内联函数的处理是直接将内联函数体插入到函数调用的位置。
2. 内联函数省去了普通函数调用时压栈,跳转和返回等操作、这也是内敛函数的优势,但是做内联的代价大于压栈等付出代价时,内敛函数是没有意义的。
3. 虽然我们声明了内联函数, 但是c++编译器可以拒绝这种内联的请求,转化为普通函数的调用。
4. 内联函数的函数体是有要求的,不能出现循环与判断数目过多、一般短小精悍的函数体才满足内联函数的要求。