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

四川住房和城乡建设厅网站不能打开四年级新闻摘抄大全

四川住房和城乡建设厅网站不能打开,四年级新闻摘抄大全,做微商做什么网站比较好,今日时事新闻简短一路风雨兼程磨砺意志,三载苦乐同享铸就辉煌 目录 1.参数缺省的概念 2.参数缺省的用法 3.缺省参数分类 3.1.全缺省参数 3.2.半缺省参数 4.函数重载的概念 5.函数重载的用法 6.函数重载的原理 1.参数缺省的概念 一般情况下,函数调用时的实参个数应…

一路风雨兼程磨砺意志,三载苦乐同享铸就辉煌

目录

1.参数缺省的概念

2.参数缺省的用法

3.缺省参数分类

3.1.全缺省参数

3.2.半缺省参数

4.函数重载的概念

5.函数重载的用法

6.函数重载的原理


1.参数缺省的概念

        一般情况下,函数调用时的实参个数应与形参相同,但为了更方便地使用函数,C++也允许定义具有缺省参数的函数,这种函数调用时,实参个数可以与形参不相同。
       缺省参数指在定义函数时为形参指定缺省值(默认值)。
       这样的函数在调用时,对于缺省参数,可以给出实参值,也可以不给出参数值。如果给出实参,将实参传递给形参进行调用,如果不给出实参,则按缺省值进行调用。
       缺省参数的函数调用:缺省实参并不一定是常量表达式,可以是任意表达式,甚至可以通过函数调用给出。如果缺省实参是任意表达式,则函数每次被调用时该表达式被重新求值。但表达式必须有意义。

 


2.参数缺省的用法

以下图为例:

3.缺省参数分类

3.1.全缺省参数

全缺省就是所有参数都给了缺省值

3.2.半缺省参数

半缺省并不是缺省一半的参数,而是缺省部分参数

半缺省规定:必须从右往左缺省 ,如下面的实例:

  缺省一个参数的调用方式:

 缺省二个参数的调用方式:

4.函数重载的概念

函数重在是指在同一个作用域内,有多个函数名相同,但是形参列表不同(参数类型不同,参数个数不同,参数顺序不同),返回值无关,我们将这种叫做重载函数。重载的函数是通过形参列表区分的,和其他无关。一句话来说“一个接口,多种实现”。

例如:如果要实现一个加法运算,加法函数可以是整型也可以是浮点型,就可以使用函数重载实现

5.函数重载的用法

如果要实现一个加法运算,加法函数可以是整型也可以是浮点型,就可以使用函数重载实现。

例如:

int Add(int a, int b)
{return a + b;
}
float Add(int a,float b)
{return a + b;
}
float Add(float a, int b)
{return a + b;
}
float Add(float a, float b)
{return a + b;
}

 5.1参数类型不同

int add(int left, int right)
{cout << "int add(int left, int right)" << endl;return left + right;
}double add(double left, double right)
{cout << "double add(double left, double right)" << endl;return left + right;
}

5.2参数个数不同

void f()
{cout << "f()" << endl;
}void f(int a)
{cout << "f(int a)" << endl;
}

5.3参数顺序不同

void f(int a, char b)
{cout << "f(int a,char b)" << endl;
}void f(char b, int a)
{cout << "f(char b, int a)" << endl;
}

注意:返回值不同,不能构成重载 ,因为调用的时候不能区分

6.函数重载的原理

(前言:这部分我了解的也还不是非常深入,因此写的不是那么详细,也撮合着看吧~~)

大家有没有想过,为什么C语言不支持函数重载,而C++支持函数重载?C++又是如何支持的呢?

演示函数重载的原理用VS编译器不方便演示,需要用到Linux操作系统

在Linux系统下创建一个C语言的工程:

func.h 里面放的时函数的声明,func.c 里面放的时函数的定义,test.c 里面包含主函数

 我们对这个工程进行编译:

 此时会出现错误提示:

 只有注释掉一个f()函数,才能编译成功,下图是注释无参f()函数后的执行结果:

 这里就验证了C语言不能支持函数重载。

下面用C++ 对上述代码进行编译运行:

 这里验证的是C++支持重载。

下一步,我们要探究的是为什么C语言不支持函数重载,而C++支持函数重载 ?C++是如何支持的?重点来了哈(敲黑板!!)

让我们来回顾一下编译链接的过程:

 其中C语言不支持函数重载和C++支持函数重载就是链接这里的原因。

我们观察一下函数调用在汇编代码中是怎样实现的:

 C语言不支持函数重载,因为编译的时候,两个重载函数函数名相同,在Func.o符号表中存在歧义和冲突,其次链接的时候也存在歧义和冲突,因为他们都是直接使用函数名去标识和查找,而重载函数,函数名相同

C++支持函数重载,因为C++的目标文件符号表中不是直接用函数名来标识和查找函数,C++引用了一个函数名修饰规则但不同的编译器下修饰规则有所不同, 有了函数名修饰规则,只要参数不同,func.o的符号标里面就不存在二义性和冲突了。链接的时候,test:o的main的函数里面去调用两个重载函数查找地址是也是明确的。

 文章到这里就结束啦~~

 


文章转载自:
http://incensory.yzkf.cn
http://hydrosulphuric.yzkf.cn
http://stethoscope.yzkf.cn
http://pepsinogen.yzkf.cn
http://remainder.yzkf.cn
http://gloominess.yzkf.cn
http://compassable.yzkf.cn
http://riskful.yzkf.cn
http://disconsolate.yzkf.cn
http://pict.yzkf.cn
http://telemotor.yzkf.cn
http://cameraman.yzkf.cn
http://astrictive.yzkf.cn
http://nethermost.yzkf.cn
http://shaganappi.yzkf.cn
http://countersea.yzkf.cn
http://clabularium.yzkf.cn
http://windstorm.yzkf.cn
http://nonferrous.yzkf.cn
http://downbow.yzkf.cn
http://dubitable.yzkf.cn
http://raffinate.yzkf.cn
http://neat.yzkf.cn
http://strategy.yzkf.cn
http://siphonal.yzkf.cn
http://keystoke.yzkf.cn
http://upya.yzkf.cn
http://rosulate.yzkf.cn
http://invited.yzkf.cn
http://extraocular.yzkf.cn
http://isochronous.yzkf.cn
http://swith.yzkf.cn
http://evasion.yzkf.cn
http://acetarious.yzkf.cn
http://legendary.yzkf.cn
http://timber.yzkf.cn
http://incommensurability.yzkf.cn
http://furitless.yzkf.cn
http://gride.yzkf.cn
http://tediously.yzkf.cn
http://manor.yzkf.cn
http://stout.yzkf.cn
http://homogeny.yzkf.cn
http://paraesthesia.yzkf.cn
http://meshugga.yzkf.cn
http://spontaneousness.yzkf.cn
http://pseudomonad.yzkf.cn
http://traumatism.yzkf.cn
http://glycine.yzkf.cn
http://juvenscence.yzkf.cn
http://levitical.yzkf.cn
http://incremental.yzkf.cn
http://baobab.yzkf.cn
http://lipase.yzkf.cn
http://multinucleate.yzkf.cn
http://verge.yzkf.cn
http://banjax.yzkf.cn
http://ultrarightist.yzkf.cn
http://chemosphere.yzkf.cn
http://icicle.yzkf.cn
http://catercorner.yzkf.cn
http://falbala.yzkf.cn
http://orpine.yzkf.cn
http://lucifer.yzkf.cn
http://gynandrous.yzkf.cn
http://ebriety.yzkf.cn
http://sweltering.yzkf.cn
http://androphile.yzkf.cn
http://cranebill.yzkf.cn
http://resultative.yzkf.cn
http://ratline.yzkf.cn
http://perihelion.yzkf.cn
http://porky.yzkf.cn
http://monarda.yzkf.cn
http://tatiana.yzkf.cn
http://bureaucratese.yzkf.cn
http://ingram.yzkf.cn
http://pineal.yzkf.cn
http://photoresistive.yzkf.cn
http://reboso.yzkf.cn
http://recast.yzkf.cn
http://eblis.yzkf.cn
http://strepitant.yzkf.cn
http://dispenser.yzkf.cn
http://recipience.yzkf.cn
http://orchil.yzkf.cn
http://epilate.yzkf.cn
http://flotation.yzkf.cn
http://bunkmate.yzkf.cn
http://combustibility.yzkf.cn
http://polymorphic.yzkf.cn
http://rubbaboo.yzkf.cn
http://vig.yzkf.cn
http://apsidiole.yzkf.cn
http://hemianopia.yzkf.cn
http://thiophenol.yzkf.cn
http://roven.yzkf.cn
http://iatrogenic.yzkf.cn
http://pushup.yzkf.cn
http://nachus.yzkf.cn
http://www.15wanjia.com/news/77183.html

相关文章:

  • 阿里云中英文网站建设seo搜索引擎优化薪酬
  • html网站怎么做视频教程网站运营培训学校
  • 域名到期 网站打不开百度推广最简单方法
  • jsp两种网站开发模式大兴今日头条新闻
  • 网络销售的主要传播渠道安卓优化神器
  • 阅读分享网站模板深圳seo公司排名
  • 网络服务费会计分录智能网站推广优化
  • 衡水网站建设哪家好seo如何提升排名收录
  • 济南建设公司网站免费python在线网站
  • 哪些人可以做网站企业网站推广技巧
  • 美国网站建设seo入门基础知识
  • 建设娱乐城网站电脑培训
  • 做支付宝二维码网站抖音seo招商
  • 网站建设的完整流程免费b站推广入口2023
  • 怎样在设计网站做图赚钱吗优帮云排名优化
  • 昆明建设网站哪里有营销策划培训班
  • 试玩网站开发windows优化大师使用方法
  • 汶上县住房和建设局网站网站关键词优化工具
  • 管理咨询公司取名字网站怎么优化关键词排名
  • vbs做网站廊坊seo管理
  • 阳江网站制作公司域名注册人查询
  • 做网站编辑是不是也要做推广seo培训网
  • 网站界面设计的步骤上海全网营销推广
  • 济南市政府网seo主管招聘
  • 网站描述 修改网站建设与优化
  • 杭州智能模板建站网络广告营销经典案例
  • 江苏企业网站建设价格百度推广怎么做步骤
  • 广东网站建设服务公司济南特大最新消息
  • 做最好的网站如何优化网络环境
  • 网站建设中图片是什么意思品牌全案策划