C++:Inline 内联函数小结

it2025-05-21  23

为解决代码中频繁调用小函数,消耗大量栈空间的问题,因而引入修饰符inline。

运行速度比常规函数稍快,但以代码“膨胀为代价”

函数内联,节约的是处理函数调用机制的时长。若函数执行时间短,函数内联的效益较高,反之效益降低

使用限制: (1)不可递归使用 (2)函数体较大的时候不适合使用 (3)必须和函数定义放在一起才能成为内联,仅放在函数声明前不起任何作用 适用场景: (1)类似:

inline double squre(x) {return x * x;}

这样一行就可实现的简短函数 (2)类的成员函数中用于成员变量存取的函数 (3)注:像这样直接在类中定义的成员函数

class A { public:void Foo(int x, int y){} // }

自动会成为内联函数

但规范一些还是写成

// 头文件 class A { public: void Foo(int x, int y); } // 定义文件 inline void A::Foo(int x, int y){}

参考资料

【1】https://www.runoob.com/w3cnote/cpp-inline-usage.html 【2】C++ Primer Plus

最新回复(0)