内联函数

为什么会有内联函数?
1.函数调用:需要实参、局部变量等数据入栈;
2.然后执行函数体的代码;
2.执行完数据出栈。
如果函数只有很少的语句,频繁调用的话,时间都浪费在入栈和出栈上。
因此,C++ 提供一种提高效率的方法,即在编译时将函数调用处用函数体替换,类似于C语言中的宏展开。这种在函数调用处直接嵌入函数体的函数称为内联函数。
从inline的原理可以看出,是用空间换取时间的做法,是以代码膨胀(复制)为代价的。

// 函数声明处inline不起作用,编译器会忽略声明处的inline关键字
//inline void func();

// 要实现内联函数,需要在函数定义处添加inline
inline void func()
{

}

再次强调,一般只将那些短小的、频繁调用的函数声明为内联函数。

posted @ 2023-05-11 16:13  jason8826  阅读(10)  评论(0编辑  收藏  举报