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

珠海做网站建设软件技术专升本

珠海做网站建设,软件技术专升本,wordpress 大型站,简述jsp网站开发的环境配置过程文章目录 函数参数缺省函数参数缺省的条件和要求 内联函数内联函数的工作原理内联函数的定义方法内联函数的要求解决方法:直接在.h中定义内联函数的函数体 内联函数再Debug模式下默认是不展开的 函数参数缺省 顾名思义:可以少传一个/多个参数给函数&…

文章目录

  • 函数参数缺省
    • 函数参数缺省的条件和要求
  • 内联函数
    • 内联函数的工作原理
    • 内联函数的定义方法
    • 内联函数的要求
      • 解决方法:直接在.h中定义内联函数的函数体
    • 内联函数再Debug模式下默认是不展开的

函数参数缺省

顾名思义:可以少传一个/多个参数给函数,但是该函数还能正常运行

在这里插入图片描述

不像C语言中函数定义了几个参数就必须传几个参数函数才能工作


函数参数缺省的条件和要求

  1. 必须在声明或者定义时给形参一个默认值

    在这里插入图片描述
    这样函数在参数缺省的时候就可以用形参的默认值工作,再有参数传入时,从左往右把默认值覆盖

  2. 给函数的形参默认值时必须从右往左给【即右边的有默认值了,才能给左边的形参默认值

    这样可以
    在这里插入图片描述
    但是这样不行
    在这里插入图片描述
    为什么呢?
    因为函数形参接收参数是从左往右接收的,所以左边的形参先接收到参数,如果少传了参数,参数就会被左边的形参数接收完毕,此时如果右边的形参没有默认值,函数就工作不了了

  3. 给函数默认值时不能跳着给
    在这里插入图片描述

  4. 函数给默认值时,如果函数有声明就必须在声明时给默认值定义时不能再给

    在这里插入图片描述


内联函数

内联函数是用空间换取时间的函数

注意:内联函数是程序员对编译器的建议

如果程序员设定的内联函数的函数体太长,编译器就可能不会将它作为内联函数,还是将它视为普通函数


内联函数的工作原理

①把函数实现放在代码区,不放在栈区
即把函数的函数体展开在代码里,有点类似宏函数的展开

②把函数时间放在了代码区,就不用传参
去掉了传参的时间。
也省去了操作系统给栈区函数的形参分配值的时间。

③不放在栈区实现,操作系统就不用销毁回收空间,去掉了操作系统回收空间的时间。


内联函数的定义方法

直接在函数定义//声明的返回值前+一个关键字inline
即可

在这里插入图片描述

内联函数的调用方法和普通函数一样


内联函数的要求

  • 函数体不能太长,代码不能太多

为什么?
假设一个内联函数的函数体为100行代码
它会被调用100000次,每一次调用都会展开一次函数体到代码区去
那么它就会在代码区展开出100000*100行代码,会有很多重复的代码

而且这些代码都会被存在最终的可执行程序中,导致可执行程序的大小变大

而此时如果不用内联,那存入可执行程序的代码就只有100000+100行代码

其中100000行代码都是调用该函数的代码,100行代码是该函数的函数体

因为普通函数的函数体在栈中,每次调用时都会开辟栈区空间,再栈区空间中执行函数体,每次调用函数都是重复使用那函数的100代码

  • 函数体里面不能有递归调用

因为内联函数每次调用都要在调用位置展开内联函数的函数体
编译器不知道递归什么时候能结束,就不知道会展开多少次,所以编译器不会接受把递归函数做内联函数

  • 内联函数声明和定义不能分离在不同文件中在同一文件中可以

    普通函数是可以分离的
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

内联函数不能分离
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

为什么呢?

因为内联函数是不进编译链接时的符号表的,也没有地址

所以链接时找不到


解决方法:直接在.h中定义内联函数的函数体

因为被包含的头文件会在预处理时展开,所以包含了头文件的文件就内使用该头文件中定义的东西
(不了解编译和链接的可以看我这篇文章:c语言编译和链接)


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


内联函数再Debug模式下默认是不展开的

因为展开了就和宏一样不方便调试

http://www.yayakq.cn/news/662690/

相关文章:

  • 体育类网站 设计网站开发到上线
  • 4435建站自己做视频网站用cdn那个便宜
  • 江门市网站建设网络服务器地址怎么查
  • 甘肃建设厅官方网站项目负责人石家庄网站建设方案优化
  • 做免费外贸网站电子商务热门岗位
  • 自己的电脑怎么做网站棋牌游戏平台
  • 建设门户网站都需要什么营销方案英文
  • 为什么要建手机网站中疾控新冠最新消息
  • 提供企业网站建设公司大型外包软件公司有哪些
  • 产品网站策划书方案百度推广引流多少钱一个月
  • 上海哪里有做网站的舆情监控都有哪些内容
  • 好的网站设计机构传媒公司排行
  • 如何建网站模板wordpress 前端用户
  • 视频网站做cpawap和app
  • 苏州园区手机网站制作有人用wordpress默认主题
  • 学院网站建设新闻简报软件开发工程师的要求
  • 怎么做带购物功能的网站免费ppt模板免费网站
  • 推荐几个做网站比较好的公司彩票网站开发极云
  • acg大神做的网站免费外贸平台有哪些
  • 岳阳网站开发商城百度搜索风云榜官网
  • 图片网站怎么做排名微信管理系统在哪里
  • 自助公益网站建设什么软件能自己做网站
  • 自助建站系统注册叶县网站建设
  • wordpress注册工具wp建站优化
  • 做网店的进货网站做二手网站
  • 推广网站最有效办法俞润装饰做哪几个网站
  • wordpress 文章 时间段佛山做网站优化公司
  • 工作室网站建设的意义建筑设计自考
  • 一键注册所有网站网站建设工作室小俊哥
  • 做特价的网站百度小程序直播平台