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

龙腾盛世网站建设深圳网站设计知名乐云seo

龙腾盛世网站建设,深圳网站设计知名乐云seo,做网站分为哪几个岗位,做网站用百度浏览器文章目录一.内联函数概念二.内联函数用法三.内联函数的特性四.内联函数和宏一.内联函数概念 以inline修饰的函数叫做内联函数,编译时C编译器会在调用内联函数的地方展开,没有函数调用建立栈帧的开销,内联函数提升程序运行的效率。 二.内联函…

文章目录

    • 一.内联函数概念
    • 二.内联函数用法
    • 三.内联函数的特性
    • 四.内联函数和宏

一.内联函数概念

以inline修饰的函数叫做内联函数,编译时C++编译器会在调用内联函数的地方展开,没有函数调用建立栈帧的开销,内联函数提升程序运行的效率。

二.内联函数用法

inline void swap(int& x, int& y)//内联函数
{int tmp = x;x = y;y = tmp;
}int main()
{int x = 10;int y = 20;swap(x, y);cout << x << ' ' << y << endl;return 0;
}

普通函数在调用的时候会开辟函数栈帧,而内联函数是直接替换,在调用内联函数的地方进行展开。

在release模式下可以通过调试->右键代码->反汇编中看到效果,而debug模式下需要手动设置,因为debug模式下,编译器默认不会对代码进行优化,以下给出vs2013的设置方式:
在这里插入图片描述

通过汇编可以发现调用swap不是通过call指令转到swap函数之后在执行,而是直接将swap函数展开:
在这里插入图片描述

三.内联函数的特性

  1. inline是一种以空间换时间的做法,如果编译器将函数当成内联函数处理,在编译阶段,会用函数体替换函数调用,缺陷:可能会使目标文件变大,优势:少了调用开销,提高程序运行效率。(这里的空间是指可执行程序体积会变大)
  2. inline对于编译器而言只是一个建议,不同编译器关于inline实现机制可能不同,一般建议:将函数规模较小(即函数不是很长,具体没有准确的说法,取决于编译器内部实现)、不是递归、且频繁调用的函数采用inline修饰,否则编译器会忽略inline特性
  3. inline不建议声明和定义分离,分离会导致链接错误。因为inline被展开,就没有函数地址了,链接就会找不到。所以这里建议不要去声明了,直接在.h文件或者要用的地方直接定义就行。

四.内联函数和宏

宏的优点:
1.增强代码的复用性
2.提高性能

宏的缺点:
1.不方便调试
2.变量没有类型安全的检测(只是纯粹的替换)
3.在有些地方用起来繁琐,容易出错
4.导致代码可读性差,可维护性差

因为宏有很多缺点,所以C++建议
1.一般的宏常量用const,enum枚举来替换
2.简单的宏函数用内联函数去替换

http://www.rdtb.cn/news/22045.html

相关文章:

  • 杭州高端网站建设公司哪家好2345网址大全设主页
  • 内蒙古建网站百度提交入口网站
  • 濮阳做网站的公司怎么推广销售
  • 网站中的给我留言怎么做广告网
  • 百度哪个网站做贸易体验营销理论
  • 新注册公司核名步骤上海关键词排名优化价格
  • 做电商网站价格seo系统优化
  • 东营网站排名长尾关键词
  • qq推广链接seo咨询服务价格
  • 广西住房和城乡建设厅网站主页seo网站优化系统
  • 不要营业执照的做网站黄冈网站推广
  • 做网站系统的过程百度推广是什么工作
  • 科技打造巅峰华夏从横推鹰酱开始代哥seo
  • 起名网站怎么做短视频培训机构
  • ag娱乐建设网站网站和网页的区别
  • 北京软件公司招聘信息最新吉林刷关键词排名优化软件
  • 注册公司有哪几种类型深圳英文站seo
  • 商丘做网站公司怎样做网络销售平台
  • 政府网站集约化建设技术方案一键优化清理手机
  • 软件开发需要什么学历热狗网站关键词优化
  • 怎么做域名网站百度大数据分析
  • 湘潭手机网站中国万网域名查询
  • 做头像的网站空白湖南靠谱seo优化公司
  • 做统计的网站吗太原百度关键词优化
  • 罗湖网站建设公司北京网站seo设计
  • 新型h5网站建设福建seo推广方案
  • 哪些网站首页做的好网络营销公司做什么
  • 青海城乡住房和建设厅网站排名公式
  • 微商城开发小程序开发百度seo优化软件
  • 幼儿园教育类网站模板济南seo网络优化公司