内联函数——inline
inline是一个修饰词。
inline关键字必须在函数定义前,而不是函数声明语句。
inline是一种请求,告诉c++编译器进行内联编译——将函数体直接插入到函数调用处。这种请求可能会被拒绝。
内联发生在程序编译。内联函数是一种特殊函数,具有普通函数的特征(参数检测,返回类型等)。
内联函数相对于普通函数的优势:省去了函数调用时压栈,跳转和返回的函数开销。
c++编译器能够进行编译优化,对于一些函数即使没有声明为inline,那么也是可能被内联的。
c++中内联编译限制:
1、不能存在循环
2、不能存在判断语句
3、不能函数体过大
4、不能对函数进行取地址操作
内在的趣味,表面的繁琐