C++基础之内联函数

刚刚不停的翻找网页和自己试用来总结一下什么是内联函数,我写了内联函数,用反汇编来看和普通函数没有区别

内联函数的本质:就是函数

调用函数中系统做了什么:开辟栈空间、保护现场、传递参数、控制程序转移等等……这些都要花费时间

内联函数的由来:有一些函数,代码少,调用频繁,花费时间多了,效率低了,写成内联就会调用速度快了

内联函数的标识符:inline(实现的标识符,不是声明的,代码示例中理解)

内联函数的忌讳:不写循环、开关、递归这些语句

内联函数的有效性:1.标识符和函数体在一起有效;2.代码少有效(多少才算有效没有搜到),代码多了系统会当作内联失败,当作普通函数调用(不会报错)

内联BUG:当你内联函数中有静态变量,而内联失败,可就不止一个静态变量了

代码示例:

普通的内联函数:

inline void aa(int i){

i++:

}

理解是实现的标识符不是声明用的(标识符没有和函数体在一起,无效)

inline void aa(int i);

main(……)

void aa(int i)

{ i++;}

我们经常用内联函数,只是你可能不知道而已:类内部的函数,避开上面的忌讳,成员函数就是内联函数,不论有还是没有标识符

对于我学到的是:不去管成员函数是不是内联函数,写的一些小的函数且经常要用的函数,没有放在类里,就给加个标识符

(PanPen120原创 如有建议 请留言)




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值