c++: inline_函数与内联函数(超详细)

c++: inline_函数与内联函数

函数: 函数是指一段可以直接被另一段程序或代码引用的程序或代码。

函数作用: 通过将某些功能性模块编写成函数, 可以在很多情况下减少重复编写程序段的工作

从而提高编写代码的效率, 同时还能提高代码的可读性, 便于程序多人开发

c/c++ 函数定义:
返回类型 名字(形式参数列表){
    函数体语句...
    return 表达式;
}
c/c++ 函数调用:
名字(实际参数列表);

但是在函数带来很多便利的同时, 也一定有某些负作用的产生:

通过解析函数在内存中的运行原理来了解函数的负作用:

普通函数:
在这里插入图片描述

通过上图可以了解到函数的使用会消耗时间, 而当今时代对代码时间的要求越来越高, 空间的需求渐渐减小

那么我们是否可以通过某种方式将函数调用的时间消耗转变为空间消耗呢?

那就是内联函数:
在这里插入图片描述

c++内联函数实现:

#include <iostream>
using namespace std;

inline int fun(int a, int b){
    return a + b;
}

int main(){
    int m, n;
    cin >> m >> n;
    cout << fun(m, n);
}

这是一个很简单的求和内联函数,

内联函数是函数的一种,在c++中只需要在函数定义前加上inline即可;

总结:

1. 内联函数是一个特殊的函数, 调用与普通函数一致;
2. 内联函数通过内存膨胀来减少函数的跳转
3. 函数体代码过长, 或函数体中有循环, 不建议使用内联
4. 函数体是简单的赋值语句或者返回语句, 而且使用频率高, 建议使用内联

注:

内联函数在这里类似宏替换, 但他们是有区别的, 内联函数是一个函数, 是在程序执行期间运行的, 没有函数的入栈和出栈, 宏替换是预处理阶段执行的, 本质是替换, 内联函数有形参类型, 有返回值类型和返回值, 带参数的形参是没有类型, 没有返回值类型也没有返回值

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值