内联函数知识点
1 内联函数是C++为提高程序运行速度所作的一项改进
编译器将使用相应的函数代码替换函数调用,嵌入在代码中。对于内联代码,程序无需跳到另一个位置处执行代码,再跳回来。因此内联函数的运行速度比常规函数稍快,但代价是占用更多内存。如果程序在10给地方调用同一个内联函数,则该程序包含十个内联函数副本。
2 有选择得使用内联
a.如果执行函数代码时间比处理函数调用机制得时间长,则节约得时间将只占整个过程的一小部分。
b.函数过大不使用内联,有的编译器会不能认识。
3内联函数使用方式
a.函数声明前加inline关键字
b.函数定义前加inline关键字
4 内联函数与C语言宏定义的区别
内联函数用值传递,C语言宏定义是文本传递。
inline double square(double x){return x * x;}
#define square (x) x*x
square(c++),采用define,c将执行两次++操作,而内联则执行一次
x = square(1+2), define: x = 1+2*2+1;
内联: x = 3*3