当前位置: 首页 > news >正文

精选合肥网站建设网站建设所需要的材料

精选合肥网站建设,网站建设所需要的材料,查派网站建设,温州免费网站建站模板文章目录 Inline 函数是什么意思?C中哪些函数不能声明为inline?内联(inline)函数和 #define(宏) Inline 函数是什么意思? inline是内联的意思,可以定义比较小的函数。因为函数频繁调用会占用很多的栈空间&#xff0c…

文章目录

  • Inline 函数是什么意思?
  • C++中哪些函数不能声明为inline?
  • 内联(inline)函数和 #define(宏)

Inline 函数是什么意思?

inline是内联的意思,可以定义比较小的函数。因为函数频繁调用会占用很多的栈空间,进行入栈出栈操作也耗费计算资源,所以可以用inline关键字修饰频繁调用的小函数。编译器会在编译阶段将代码体嵌入内联函数的调用语句块中。

C++中哪些函数不能声明为inline?

  1. 包含了递归、循环等结构的函数一般不会被内联。
  2. 虚拟函数一般不会内联,但是如果编译器能在编译时确定具体的调用函数,那么仍然会就地展开该函数。
  3. 如果通过函数指针调用内联函数,那么该函数将不会内联而是通过call 进行调用。
  4. 构造和析构函数一般会生成大量代码,因此一般也不适合内联。
  5. 如果内联函数调用了其他函数也不会被内联
  6. inline在类体中和类外定义成员函数是有区别的,在类体定义的成员函数为inline函数,在类外定义的不是。
  7. 用static修饰的inline函数,本限定在本源码文件中,不能被本源码文件以外的代码文件调用,隐藏的作用,所以内联函数是可以被static修饰,但是inline函数内调用static函数会不展开

内联(inline)函数和 #define(宏)

  1. 在编译的时候,内联函数直接被嵌入到目标代码中去,而宏只是一个简单的文本替换。
  2. 内联函数在运行时可调式,宏定义不可以
  3. 内联函数可以访问类的成员变量,宏不可以
  4. 类中的成员函数是默认的内联函数
  5. 内联函数在编译时展开,而宏在预编译时展开
  6. 宏定义在形式上类似于一个函数,但在使用它时,仅仅只是做预处理器符号表中的简单替换,因此它不能进行参数有效性的检测,也就不能享受C++编译器严格类型检查的好处,另外它的返回值也不能被强制转换为可转换的合适的类型,这样,它的使用就存在着一系列的隐患和局限性。
  7. 宏是 由预处理器对宏进行替换 的,而内联函数是 通过编译器控制实现 的,更加安全,而不是单纯的替换
  8. 编译时,在调用处用内联函数体的代码来替换,这样没有函数压栈,将会节省调用的开销,提高运行效率(以空间换时间)
http://www.dtcms.com/a/463017.html

相关文章:

  • 集成mybatis
  • 做投诉网站赚钱吗平面图用什么软件做
  • 湛江网站建设方案报价wordpress 调用
  • 公司简介网站模板天津专业做网站
  • Unity中MonoBehavior类中的延迟函数Invoke详解(含案例)
  • app软件下载网站源码无锡企业网站
  • 公司注册网站建设延庆免费网站建设
  • 网站的新闻模块怎么做石家庄语音网站建设公司
  • AIGC入门,手搓大模型客户端与MCP交互第2集
  • 世纪城网站建设电子商务是干什么的专业
  • 网站开发绩效考核唐山市建设局网站
  • 32位汇编:实验7Win32汇编程序的编程环境
  • 怎么做海淘网站阿里巴巴外贸圈app
  • 如何建设一个电商网站久久建筑网官网登录
  • 深圳市罗湖区网站建设搜索引擎seo优化平台
  • 京东商品详情深度解析:从接口调用到商业价值挖掘的技术实现
  • dede网站seo生产企业网站有哪些
  • 行业网站开发公司有哪些免费做外贸网站
  • 怎么使用dw做一个网站阿里巴巴建设网站
  • 南通网站定制企业互联网网站名字
  • 太仓网站建设有限公司火车头 wordpress4.9
  • 基于51单片机的超声波智能避障小车
  • 郑州网站建设网站建设小型培训机构网站开发毕业设计
  • 网站设计方案范文怎么做交易猫假网站
  • Altium Designer6转嘉立创 gerber文件
  • 饰品网站模板网站建设 中企动力中山
  • 葫芦岛网站建设找思路小程序怎么做出来的
  • 五通桥移动网站建设网站免费网站免费片黄入口蜜桃观看射破屁屁
  • 欧美网站建设排名大全网格建设专业好不好
  • 自己制作遥感深度学习数据集进行遥感深度学习地物分类-试读