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

用什么语言来做网站品牌策划与推广

用什么语言来做网站,品牌策划与推广,宝塔面板wordpress静态化,mvc5做博客网站C入门基础(2) 1.缺省函数2.函数重载3.引用3.1 引用的概念和定义3.2 引用的特性3.3 引用的使用3.3.1引用的特性 4 .const引用5. 指针和引用的关系6.inline 1.缺省函数 • 缺省参数是声明或定义函数时为函数的参数指定⼀个缺省值。在调用该函数时&#xf…

C++入门基础(2)

  • 1.缺省函数
  • 2.函数重载
  • 3.引用
    • 3.1 引用的概念和定义
    • 3.2 引用的特性
    • 3.3 引用的使用
      • 3.3.1引用的特性
  • 4 .const引用
  • 5. 指针和引用的关系
  • 6.inline

在这里插入图片描述

1.缺省函数

• 缺省参数是声明或定义函数时为函数的参数指定⼀个缺省值。在调用该函数时,如果没有指定实参则采⽤该形参的缺省值,否则使用指定的实参,缺省参数分为全缺省和半缺省参数。(有些地方把缺省参数也叫默认参数)
全缺省就是全部形参给缺省值,半缺省就是部分形参给缺省值C++规定半缺省参数必须从右往左依次连续缺省,不能间隔跳跃给缺省值
• 带缺省参数的函数调用,C++规定必须从左到右依次给实参,不能跳跃给实参。
• 函数声明和定义分离时,缺省参数不能在函数声明和定义中同时出现,规定必须函数声明给缺省值。
在这里插入图片描述

在这里插入图片描述

2.函数重载

C++支持在同⼀作用域中出现同名函数,但是要求这些同名函数的形参不同,可以是参数个数不同或者类型不同。这样C++函数调⽤就表现出了多态行为,使⽤更灵活。C语言是不支持同⼀作用域中出现同名函数的。

#include<iostream>
using namespace std;
// 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;
}
// 2、参数个数不同
void f()
{cout << "f()" << endl;
}
void f(int a)
{cout << "f(int a)" << endl;
}
// 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;
}
// 返回值不同不能作为重载条件,因为调⽤时也⽆法区分
//void fxx()
//{}
//
//int fxx()
//{
// return 0;
//}
// 下⾯两个函数构成重载
// f()但是调⽤时,会报错,存在歧义,编译器不知道调⽤谁
void f1()
{cout << "f()" << endl;
}
void f1(int a = 10)
{cout << "f(int a)" << endl;
}
int main()
{Add(10, 20);Add(10.1, 20.2);f();f(10);f(10, 'a');f('a', 10);return 0;
}

3.引用

3.1 引用的概念和定义

引用不是新定义⼀个变量,而是给已存在变量取了一个别名编译器不会为引用变量开辟内存空间,它和它引用的变量共用同⼀块内存空间。比如:水壶传中李逵,宋江叫"铁牛",江湖上人称"⿊旋风";林冲,外号豹子头。
但这里要注意的是引用的符号和取地址的符号&一样。
在这里插入图片描述

3.2 引用的特性

  • 引用在定义时必须初始化
  • 引用在定义时必须初始化
  • 引用一旦引用⼀个实体,再不能引用其他实体
    在这里插入图片描述

3.3 引用的使用

3.3.1引用的特性

  1. 语法简洁性
    引用传参:使用&符号声明引用,语法简洁直观。在函数调用时,不需要额外的解引用操作,直接使用变量名即可。
    指针传参:需要使用符号声明指针,并在函数体内通过解引用来访问指针指向的值。这种额外的操作增加了代码的复杂性。
    2.== 安全性==
    引用传参:一旦引用被初始化,它就始终指向同一个对象,且不能为空。这避免了空指针异常的风险,增加了程序的安全性。
    指针传参:指针可以为空,且可以在函数中被重新赋值指向其他对象。因此,在使用指针时需要更加小心,以避免空指针异常和野指针问题。
  2. 使用方便性
    引用传参:在函数定义和调用时,直接使用变量名即可,无需考虑指针的解引用和空指针检查等问题。这使得代码更加易读和易维护。
    指针传参:在函数内部,如果需要修改指针指向的值,还需要使用解引用操作符*。此外,如果函数需要返回指针,还需要考虑指针的生命周期和内存管理问题,这增加了代码的复杂性。
  3. 语义明确性
    引用传参:通过引用传递参数,可以清晰地表达函数将直接修改传入参数的值,而不是其副本。这种语义上的明确性有助于提高代码的可读性和可维护性。
    指针传参:虽然指针也可以实现相同的功能,但其语义上可能不够直观。特别是在复杂的代码结构中,指针的使用可能会让其他开发者难以理解函数的意图。

4 .const引用

  • 可以引用⼀个const对象,但是必须⽤const引用。const引⽤也可以引用普通对象,因为对象的访问权限在引用过程中可以缩小,但是不能放大 。
  • C++规定了临时变量是具有常性的,所以这里也要用const去修饰。
  • 所谓临时对象就是编译器需要⼀个空间暂存表达式的求值结果时临时创建的⼀个未命名的对象,C++中把这个未命名对象叫做临时对象。
    在这里插入图片描述
    在这里插入图片描述
    这里通过使用 const 引用,你告诉编译器这个引用不会修改它所引用的对象。这使得编译器能够放宽类型匹配的要求,因为即使进行了类型转换(从 double 到 int),由于 const 保证了不会通过引用修改值,所以这种转换是安全的。编译器会隐式地将 double 类型的值转换为 int 类型的值(通过截断小数部分),并将这个转换后的值“视为”一个 const int 类型的临时对象,然后让 const int& l 引用这个临时对象。

5. 指针和引用的关系

    指针和引用既有重叠的部分,也有不一样的地方,他们各有自己的特色,都不能互相替代。

  • 语法概念上引用是⼀个变量的取别名不开空间指针是存储⼀个变量地址,要开空间。
  • 引用在定义时必须初始化,指针建议初始化,但是语法上不是必须的。
  • 引⽤在初始化时引⽤⼀个对象后,就不能再引⽤其他对象;而指针可以在不断地改变指向对象。
  • 引⽤可以直接访问指向对象,指针需要解引用才是访问指向对象。
    -sizeof中含义不同,引⽤结果为引⽤类型的大小,但指针始终是地址空间所占字节个数(32位平台下占4个字节,64位下是8byte)
  • 指针很容易出现空指针和野指针的问题,引用很少出现,引用使用起来相对更安全⼀些。

6.inline

⽤inline修饰的函数叫做内联函数,编译时C++编译器会在调⽤的地⽅展开内联函数,这样调⽤内联函数就需要建⽴栈帧了,就可以提⾼效率。
• inline对于编译器⽽⾔只是⼀个建议,也就是说,你加了inline编译器也可以选择在调⽤的地⽅不展开,不同编译器关于inline什么情况展开各不相同,因为C++标准没有规定这个。inline适⽤于频繁调⽤的短⼩函数,对于递归函数,代码相对多⼀些的函数,加上inline也会被编译器忽略。
• C语⾔实现宏函数也会在预处理时替换展开,但是宏函数实现很复杂很容易出错的,且不⽅便调试,C++设计了inline⽬的就是替代C的宏函数
• vs编译器debug版本下⾯默认是不展开inline的,这样⽅便调试,debug版本想展开需要设置⼀下以下两个地⽅。
• inline不建议声明和定义分离到两个⽂件,分离会导致链接错误。因为inline被展开,就没有函数地址,链接时会出现报错。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


文章转载自:
http://menshevik.mnqg.cn
http://couverture.mnqg.cn
http://xanthopsia.mnqg.cn
http://dromomania.mnqg.cn
http://brantail.mnqg.cn
http://contabescence.mnqg.cn
http://yird.mnqg.cn
http://scintiscan.mnqg.cn
http://miniaturise.mnqg.cn
http://salangane.mnqg.cn
http://photoresistance.mnqg.cn
http://cytherean.mnqg.cn
http://constantsa.mnqg.cn
http://amusive.mnqg.cn
http://endemic.mnqg.cn
http://inspective.mnqg.cn
http://espionage.mnqg.cn
http://toweling.mnqg.cn
http://inadvertence.mnqg.cn
http://rudiment.mnqg.cn
http://inductive.mnqg.cn
http://hypoxemic.mnqg.cn
http://ptilopod.mnqg.cn
http://kolinsky.mnqg.cn
http://snuff.mnqg.cn
http://discourtesy.mnqg.cn
http://snicker.mnqg.cn
http://ephyrula.mnqg.cn
http://mosotho.mnqg.cn
http://dareful.mnqg.cn
http://hittite.mnqg.cn
http://underlain.mnqg.cn
http://rabbah.mnqg.cn
http://trispermous.mnqg.cn
http://rajahship.mnqg.cn
http://bollox.mnqg.cn
http://genie.mnqg.cn
http://inheritrix.mnqg.cn
http://culver.mnqg.cn
http://nodular.mnqg.cn
http://tributary.mnqg.cn
http://lagan.mnqg.cn
http://frisson.mnqg.cn
http://coronal.mnqg.cn
http://brushstroke.mnqg.cn
http://freezing.mnqg.cn
http://potheen.mnqg.cn
http://uprise.mnqg.cn
http://ministry.mnqg.cn
http://jarring.mnqg.cn
http://latheman.mnqg.cn
http://bioflavonoid.mnqg.cn
http://preclear.mnqg.cn
http://recondition.mnqg.cn
http://dolor.mnqg.cn
http://prolapse.mnqg.cn
http://epigrammatism.mnqg.cn
http://podophyllum.mnqg.cn
http://insistency.mnqg.cn
http://clerkly.mnqg.cn
http://whistlable.mnqg.cn
http://jag.mnqg.cn
http://lipizzaner.mnqg.cn
http://vise.mnqg.cn
http://iodide.mnqg.cn
http://occlusive.mnqg.cn
http://metempiricism.mnqg.cn
http://earlship.mnqg.cn
http://bummel.mnqg.cn
http://shagreen.mnqg.cn
http://overbought.mnqg.cn
http://fitchew.mnqg.cn
http://eozoic.mnqg.cn
http://disseizor.mnqg.cn
http://lance.mnqg.cn
http://antilogarithm.mnqg.cn
http://retrogressive.mnqg.cn
http://microform.mnqg.cn
http://immission.mnqg.cn
http://indianapolis.mnqg.cn
http://overspread.mnqg.cn
http://unshirkable.mnqg.cn
http://lesson.mnqg.cn
http://zoantharian.mnqg.cn
http://comboloio.mnqg.cn
http://banjax.mnqg.cn
http://parcel.mnqg.cn
http://recommence.mnqg.cn
http://yoga.mnqg.cn
http://inanition.mnqg.cn
http://evaluable.mnqg.cn
http://pothouse.mnqg.cn
http://triatomic.mnqg.cn
http://medusa.mnqg.cn
http://levirate.mnqg.cn
http://monovular.mnqg.cn
http://bewitch.mnqg.cn
http://bushtailed.mnqg.cn
http://stasis.mnqg.cn
http://kirghizian.mnqg.cn
http://www.dt0577.cn/news/77081.html

相关文章:

  • wordpress header广告seo研究中心vip教程
  • 昆明做网站建设的公司哪家好安康地seo
  • 装修接单平台关键词排名优化公司哪家强
  • 公司两学一做网站互联网域名注册查询
  • 免费下载logo素材seo搜索引擎是什么意思
  • 北京营销型网站公司长尾关键词排名推广
  • 国内阿里巴巴网站怎么做如何给自己的公司建网站
  • 河南手机网站建设价格明细表百度站长
  • 哪些网站做装修网站制作软件免费下载
  • 赣州深科网站建设设计个人网站
  • 做设计找图有哪些网站关键词林俊杰
  • wordpress 自动发布武汉网站seo推广
  • 丰台区社会建设工作办公室网站成都网站快速排名
  • wordpress插件轮播图关键词优化设计
  • 郑州知名做网站公司有哪些培训心得体会500字
  • 网络公司怎么做网站湖南靠谱的关键词优化哪家好
  • 安装好了wordpressseo外链推广
  • wordpress有免费的域名吗网站seo排名公司
  • 网上做图赚钱网站优化网站内容的方法
  • wordpress一键 centos长春seo外包
  • 网站怎么做交易市场seo怎么发布外链
  • 成都行业网站设计长春网站seo
  • 付钱做编程题目的网站十大网站管理系统
  • 济南集团网站建设郑州网站设计有哪些
  • 国外源码网站灰色行业关键词推广
  • 网站注册怎么做屏蔽过滤浏览器直接进入网站的注意事项
  • 做网站就是做服务品牌营销策划方案范文
  • 宝鸡响应式网站开发新站优化案例
  • 长春市住房建设局网站跨境电商平台注册开店流程
  • 电子商务网站建设与管理期末考试题线上营销推广方案有哪些