LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 228|回复: 0

何时使用内联函数

[复制链接]
发表于 2024-1-31 22:49:10 | 显示全部楼层 |阅读模式
内联函数最适合用于小型函数,例如提供数据成员访问权限的函数。 短函数对函数调用的开销很敏感。 较长的函数在调用和返回序列方面花费的时间可成比例地减少,而从内联的获益也会减少。

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)指定为 inline 通常将节省下列操作的开销:

函数调用(包括参数传递和在堆栈上放置对象地址)
保留调用者的堆栈帧
设置新的堆栈帧
返回值通信
还原旧堆栈帧
返回值

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表