栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

函数-C++内联函数

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

函数-C++内联函数

C++入门-内联函数 通过对内联函数,常规函数,宏进行区别,来认识内联函数。 内联函数和常规函数

常规函数:程序执行到函数调用时

                ​ 1.储存该函数调用的内存地址

​                ​ 2.将函数参数复制到堆栈

                ​​ 3.跳到标记函数的起点的内存单元,执行函数代码

                ​​ 4.再回到第1步储存的地址。

内联函数:在编译时,编译器将使用相应的函数代码替换函数调用。

内联与宏

宏:通过文本替换来实现调用。不能按值来传递参数。

#define SQUARE(X) (x*x)
//有可能出现SQUARE(5+5)替换结果(5+5*5+5)=35的情况
//并且SQUARE(C++)替换结果(C++*C++)先自增两次再相乘

内联函数:按值来传递参数实现调用。

inline int square(int x) { return x * x; }
//调用square(c++)先传c的值,再进行平方,最后自增1.
使用情况

常规函数:来回跳跃并记录跳跃位置会有一定的运行开销

内联函数:1.多次调用占用更多内存

​                 ​ 2.不能使用递归

使用高度频繁,而且操作内容简单的情况下使用内联函数。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1011437.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号