何时使用内联函数
内联函数最适用于小型函数使用例如访问私有数据成员。主要目的这一或两行 “访问器”函数将返回有关对象的状态信息;短函数对开销非常敏感函数调用。较长的功能为比例地花费在序列并受益于内联调用/返回的少时间。
示例
Point 类,介绍 函数调用结果 可以优化如下所示:
// when_to_use_inline_functions.cpp
class Point
{
public:
// Define "accessor" functions as
// reference types.
unsigned& x();
unsigned& y();
private:
unsigned _x;
unsigned _y;
};
inline unsigned& Point::x()
{
return _x;
}
inline unsigned& Point::y()
{
return _y;
}
int main()
{
}
假设的协调处理是在此类的一个客户端的比较常见的操作,指定两个访问器函数 (x 和 y 在前面的示例中), 内联 通常保存开销:
函数调用 (包括参数传递和放置对象的地址在堆栈上)
调用方的堆栈帧的保存
新的堆栈帧设置
返回值通信
旧堆栈帧还原
Return