C++入门笔记6 内联函数

内联函数的概念

1.内联函数介绍

内联函数是C++为提高程序运行速度所做的一项改进。
C++内联函数提供了另一种选择。内联函数的编译代码与其他程序代码“内联”起来了。也就是说,编译器将使用相应的函数代码替换函数调用。对于内联代码,程序无需跳到另一个位置处执行代码,再跳回来。因此,内联函数的运行速度比常规函数稍快,但代价是需要占用更多内存。如果程序在10个不同的地方调用同一个内联函数,则该程序将包含该函数代码的10个副本。
应有选择地使用内联函数。如果执行函数代码的时间比处理函数调用机制的时间长,则节省的时间将只占整个过程的很小一部分。如果代码执行时间很短,则内联调用就可以节省非内联调用使用的大部分时间。另一方面,由于这个过程相当快,因此尽管节省了该过程的大部分时间,但节省的时间绝对值并不大,除非该函数经常被调用。

2. 内联函数的定义:

函数声明定义前添加inline关键字

#include <iostream>
#include <string>
using namespace std;

inline void fun(int a)
{
	cout << "a:" << a << endl;
}
int main()
{
	fun(1);
	cout << "a:" << 1 << endl;//大致等价上式

	return 0;
}

3.内联函数的特点:

1)他是一个函数,调用与普通函数一致
与带参宏的差别示例:

#include <iostream>
#include <string>
using namespace std;

inline int fun(int x)
{
	return x + x;
}

#define ADD(x) x+x //宏定义 带参宏

int main()
{
	cout << "ADD:" << ADD(1) * ADD(3) << endl;//1+1*3+3=7
	cout << "fun:" << fun(1) * fun(3) << endl;//(1+1)*(3+3)=12
	return 0;
}

在这里插入图片描述

2)通过内存膨胀来减少函数的跳转

3)函数体代码过长,或者函数体中有循环,有递归语句,不建议使用内联

4)函数体是简单的赋值语句或者返回语句,而且使用频率高,建议使用内联

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值