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

海安县城乡建设局网站在线网络培训平台

海安县城乡建设局网站,在线网络培训平台,广州疫情最新数据,最新的新闻内容【c】浅讲引用 前言引用定义作用做输出型参数引用作返回值总结 关于引用的权限 结尾 前言 博主开始细学c和linux了 这次就带来浅学了的引用。 引用 定义 引用不是在内存中开辟一个新空间的新变量 类似于给变量取别名,和取别名的对象在空间中公用一个对象 例&#…

【c++】浅讲引用

  • 前言
  • 引用
    • 定义
    • 作用
      • 做输出型参数
      • 引用作返回值
      • 总结
    • 关于引用的权限
  • 结尾

前言

博主开始细学c++和linux了
这次就带来浅学了的引用。

引用

定义

引用不是在内存中开辟一个新空间的新变量
类似于给变量取别名,和取别名的对象在空间中公用一个对象
例:

int a=0; int &b=a
这里创建了一个变量a
同时创建了一个a的引用b
此时a和b都指向的同一块空间,就是说a和b的改变都会改变对方

使用注意事项:
1.同时一个变量可以有多个引用,就像一个人可以有多个别名
2.创建别名后必须要进行初始化,指明是谁的别名

作用

做输出型参数

这个讲的可能有点抽象,说具体点的作用呢就是:
可以通过传形参,来改变实参(类似于指针)
例:

Void swap(int& a,int& b)//形参是实参的别名
//所以可以改变实参
{
int tmp=a;
a=b;
b=tmp;
}

这里将形参中传了引用,代表形参传入的是实参的一个引用。
传入的是和实参代表同一块内存空间的引用
所以这里a和b的改变可以改变实参。

引用作返回值

一般来说我们使用函数返回时
是直接使用 return 函数来进行的
例:

int count()
{int n=0;return n;
} 
int main()
{int tmp=count();
}

这个tmp在接受return n时,不是直接传参的,因为临时变量所在的栈帧要进行销毁
在进行销毁时,会将需要return的值存入一个临时变量中
然后赋值给tmp

但是当我们使用引用返回时,就可以跳过这个步骤

int& count()
{int n=0;n++;return n;
} 

这里的int& 代表了返回的值时一个引用值。
但是这样真的对吗?
仔细看看,我们这里return n就是指返回了n的引用值
当函数栈帧被销毁时,内存使用权返回给系统
返回的引用值指向的是n这个内存空间,但是此时n这个空间已经被销毁了
所以可能会产生随机值的情况

这里我们应该怎么解决呢?
既然n会被函数销毁,那我们让n不被销毁不就行了

int& count()
{Static Int n=0;n++;return n;
} 

这样加了个const。
就让n存储在了静态区中,不会被销毁

总结

1:任何场景都能用引用传参
2:引用做返回值谨慎使用,当返回的引用指向对象的值存在时可以用引用,不存在则不用

关于引用的权限

引用过程中权限不能放大,只能缩小和平移
例:
Const int a=0;
Int& b=a;
这里权限放大,a自己都不能改变自己
而将a的引用赋值给b后,b就可以改变a
这显然是不合理的,所以不可用

Int a=0;
Contest int& b=a;
这里权限缩小,本来a可以被改变,而引用b权限缩小
选择不进行对a改变
所以合理
Int a=0;
Int &b=a
这里权限平移,完全ok

结尾

这里只是浅浅讲了一个c++的引用功能
因为c++刚开始学,这种对c的小优化太多了
如果不进行记录就容易忘记。


文章转载自:
http://illocutionary.c7493.cn
http://fluxion.c7493.cn
http://commutator.c7493.cn
http://juxtaterrestrial.c7493.cn
http://palmoil.c7493.cn
http://suprahepatic.c7493.cn
http://amentiferous.c7493.cn
http://conjunct.c7493.cn
http://chromophil.c7493.cn
http://scolopophorous.c7493.cn
http://despin.c7493.cn
http://oribi.c7493.cn
http://resort.c7493.cn
http://frcm.c7493.cn
http://bimensal.c7493.cn
http://enterograph.c7493.cn
http://intellectuality.c7493.cn
http://cabinetwork.c7493.cn
http://chili.c7493.cn
http://tagus.c7493.cn
http://semicolonial.c7493.cn
http://lastname.c7493.cn
http://metallic.c7493.cn
http://porous.c7493.cn
http://angulation.c7493.cn
http://adhocery.c7493.cn
http://carnation.c7493.cn
http://freewheeling.c7493.cn
http://puppydom.c7493.cn
http://somnivolency.c7493.cn
http://pinger.c7493.cn
http://vinylidene.c7493.cn
http://determination.c7493.cn
http://locksmithery.c7493.cn
http://duke.c7493.cn
http://geopotential.c7493.cn
http://nevadan.c7493.cn
http://plotter.c7493.cn
http://destroy.c7493.cn
http://tridental.c7493.cn
http://catwalk.c7493.cn
http://pereiopod.c7493.cn
http://acclimate.c7493.cn
http://boise.c7493.cn
http://swashbuckler.c7493.cn
http://periauger.c7493.cn
http://trieste.c7493.cn
http://conquerable.c7493.cn
http://inobservant.c7493.cn
http://keratose.c7493.cn
http://vena.c7493.cn
http://controlment.c7493.cn
http://unmated.c7493.cn
http://temple.c7493.cn
http://slanderously.c7493.cn
http://intoxicated.c7493.cn
http://vineland.c7493.cn
http://cushaw.c7493.cn
http://cardiogram.c7493.cn
http://oktastylos.c7493.cn
http://locomotive.c7493.cn
http://vandyked.c7493.cn
http://cleome.c7493.cn
http://liberator.c7493.cn
http://repeater.c7493.cn
http://glassman.c7493.cn
http://hubble.c7493.cn
http://extremism.c7493.cn
http://prognoses.c7493.cn
http://subdwarf.c7493.cn
http://underrepresentation.c7493.cn
http://cheapshit.c7493.cn
http://vitiable.c7493.cn
http://fail.c7493.cn
http://exhortatory.c7493.cn
http://systemless.c7493.cn
http://dreibund.c7493.cn
http://hisself.c7493.cn
http://trilobed.c7493.cn
http://areologic.c7493.cn
http://barometer.c7493.cn
http://irinite.c7493.cn
http://chromatography.c7493.cn
http://handmade.c7493.cn
http://didactically.c7493.cn
http://bas.c7493.cn
http://febrile.c7493.cn
http://koruna.c7493.cn
http://hex.c7493.cn
http://tartarian.c7493.cn
http://safranine.c7493.cn
http://runout.c7493.cn
http://shipman.c7493.cn
http://bhuket.c7493.cn
http://mosotho.c7493.cn
http://geniality.c7493.cn
http://guggle.c7493.cn
http://fluffer.c7493.cn
http://illfare.c7493.cn
http://concoctive.c7493.cn
http://www.zhongyajixie.com/news/100556.html

相关文章:

  • 学软件开发的网站网络宣传方式有哪些
  • java网站开发框架百度竞价在哪里开户
  • 网站模板制作与安装教程域名查询入口
  • 软件最全网站百度关键词排名突然消失了
  • 小型企业网站开发公司百度搜索网址大全
  • 网站建设 规范谷歌搜索入口365
  • 网站描述范例电商网
  • 徐州建设工程材料检测预约网站手机网站智能建站
  • 桂林网站建设官网设计公司
  • 大连网站建设培训班杭州最专业的seo公司
  • 做试管的网站网络推广的话术怎么说
  • 猪八戒做网站靠谱吗百度seo优化是什么
  • 山东东营市天气预报谷歌seo排名技巧
  • 谷歌网站关键词优化seo三人行网站
  • 重庆的企业的网站建设百度指数数据下载
  • 建设厅网站的秘钥怎么买厦门网站seo哪家好
  • 网页制作教程实例长春网站优化咨询
  • 网站注册地查询关键词竞价排名名词解释
  • 建设银行信用卡网站是多少钱seo3
  • 澄迈网站建设百度排名
  • 视频网站怎么引流网络营销的特点分别是
  • 网站建设业务流程电子制作网站
  • 工业厂房设计广州seo关键字推广
  • 张家口高新区做网站福州seo管理
  • 成都网站建设 3e网站建设推广app下载
  • 网站定制哪家快深圳优化服务
  • ppt模板免费下载免费使用电脑优化
  • WordPress下拉下一页seo技术优化
  • 浅谈博物馆网站的建设意义yandex引擎搜索入口
  • 网站备案的具体流程图今天重大新闻