常规的函数调用,处理器会使用栈指针跳转到函数处去执行,其中会涉及到栈操作,及跳转操作,这样的操作很花费一点的时间(虽然时间很短),但对于只有几句语句的函数来说,这种时间开销是很不划算的,为了解决这个问题,编程语言中引入了inline关键字,可以用它来定义某个函数为inline函数,编译器将此类函数在被调用的地方展开,这样就提高了代码的执行速度,
但是,inline函数也有其弊端,它会使代码量膨胀。
#include <iostream>
inline int getMulValue(const int& one, const int& two);
int main()
{
int date_one = 10, data_two = 20, mul_value = 0;
mul_value = getMulValue(date_one, data_two); //inline函数在被调用的地方展开,减少了时间开销,但会使代码量增加
std::cout << "mul_value = " << mul_value << std::endl;
return 0;
}
/*inline函数,仅在函数语句非常简单的时候使用。在定义函数时,不希望被改变的参数可定义为const变量*/
inline int getMulValue(const int& one, const int& two)
{
return (one * two);
}
输出:
mul_value = 200