inline-内联函数

本文介绍了内联函数的概念及其如何通过代码膨胀提升执行速度。详细解释了内联函数与预处理宏的区别,并给出了两种定义内联函数的方法:一种是在类声明中直接定义,另一种是使用关键字inline进行标记。

内联函数是一种提高代码效率的技术,用适度的代码空间膨胀,来换取较高的执行速度。

内联函数与预处理宏有相同之处,在每一处调用内联函数的地方,编译器将展开内联函数,将代码直接嵌入到调用处,从而节省了函数调用、参数入栈和返回值的处理。

内联函数是使用频繁调用、代码行数很短的小函数,且代码中,不允许有while、for循环结构,以及递归处理

inline 函数的两种方式:
先看代码:

#include <stdio.h>
class A
{
    int i;
public:
    A(int i_) {i = i_;}
    void print();
};

inline void A::print()
{
    printf("i 的值为 :%d\n",i);
}

int main()
{
    A a(3);
    a.print();
    return 0;
}
  • 第一种方式:类A的构造函数直接在类的声明众写出代码,此时不必用关键字inline做说明,就可以被编译器视作为inline函数编译;

  • 第二种方式: 类A的print函数在定义代码时,用关键字inline作说明;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值