C++中的内联函数是什么
发表于:2024-10-13 作者:千家信息网编辑
千家信息网最后更新 2024年10月13日,这篇文章主要介绍C++中的内联函数是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.概念以inline修饰的函数叫做内联函数,编译时C++编译器会在调用内联函数的地方展开
千家信息网最后更新 2024年10月13日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安全错误
数据库的锁怎样保障安全
多益网络技术组
微商城服务器价格
服务器组nas
荣成软件开发找哪家
网络安全之优盘安全
黑魂3服务器什么时候维护
龙珠斗士z服务器分区
我的世界纯净服务器怎么加组件
广西专科计算机网络技术院校排名
链接服务器节点网络断开
魔域之行服务器
监视电脑tcp端口数据库
桂阳软件开发工程师工资多少
核酸数据库值钱吗
上海软件开发者网站有哪些
广州屯大软件开发有限公司
潘熙网络安全
苏州运营软件开发厂家
电信怎么管理服务器
原子云服务器怎么选版本
多益网络技术组
软件开发方案设计编写
网络安全和信息化杂志
白帽子网络安全员
数据库中的单引号怎么输入
手机上软件开发票
单位网络安全组织机构
还原对端加密数据库
任子行参加网络安全大会
苏州打车软件开发