C++中的内联函数是什么
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,这篇文章主要介绍C++中的内联函数是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.概念以inline修饰的函数叫做内联函数,编译时C++编译器会在调用内联函数的地方展开
千家信息网最后更新 2025年02月03日C++中的内联函数是什么
这篇文章主要介绍C++中的内联函数是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
1.概念
以inline修饰的函数叫做内联函数,编译时C++编译器会在调用内联函数的地方展开,没有函数压栈的开销,内联函数提升程序运行的效率。
2.函数演示
我们先来看一下普通的函数:
#includeusing namespace std; int Add(int left, int right) { return left + right;}int main() { Add(1, 2); return 0;}
在汇编代码我们可以看出函数调用和压栈:
我们在加inline 试试看:
#includeusing namespace std;inline int Add(int left, int right) { return left + right;}int main() { Add(1, 2); return 0;}
反汇编:
发现还是一样,为什么呢?
在debug版本下编译器不会将内联函数展开,因为展开就调试不了.
我们需要设置一下属性:(vs2019)
首先我们打开属性面板:
接下来进行调试:
没有函数的调用!!
反汇编:
3.函数特性
1.inline是一种以空间换时间的做法,省去调用函数额开销。所以代码很长或者有循环/递归的函数不适宜使用作为内联函数。
2.inline对于编译器而言只是一个建议,编译器会自动优化,如果定义为inline的函数体内有循环/递归等等,编译器优化时会忽略掉内联。
3. inline不建议声明和定义分离,分离会导致链接错误。因为inline被展开,就没有函数地址了,链接就会找不到。
4.可以代替宏定义函数.
以上是"C++中的内联函数是什么"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
函数
编译
编译器
C++
代码
内容
属性
建议
开销
篇文章
链接
递归
循环
普通
接下来
价值
做法
兴趣
只是
地址
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
商业计划书 网络安全
怎么估算服务器cpu
互联网对科技型企业
网络技术公司500强
美国软件开发的工
把一串数据库取整的函数
网络安全信息保护分为几级
介绍一下软件开发
微信聊天记录会存在本地服务器吗
数据库acp教学视频
通州区数据网络技术质量推荐
excel选中所有的数据库
graphql对接数据库
asp 数据更新数据库
明日之后服务器优化技巧
软件开发统招本科
奥的斯3100服务器故障代码
网络安全的专业特点
大学法制主题体验馆软件开发
单位网络安全防范措施方案
数据库报表的四个类型
数据库的应用有哪些
工业园区创新软件开发质量
服务器 光纤 直连
微信小程序更新数据库数据
php 可以操作哪些数据库
asp 数据更新数据库
软件开发统招本科
在软件开发中 需求分析
车载网络技术db是指