找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2004|回复: 0
打印 上一主题 下一主题
收起左侧

[C++]笔记二十一:引用的基础知识

[复制链接]
跳转到指定楼层
楼主
引用的基础知识
引入
变量名,实际上是一段连续存储空间的别名,是一个标号(门牌号
程序中通过变量来申请并命名内存空间,通过变量的名字可以使用存储空间。
问题:对一段连续的内存空间只能取一个别名吗?
第一,引用的概念
1C++中新增加了引用的概念;
2)引用可以看作一个已定义变量的别名
3)引用的语法:Type& name = var;
4)引用做函数参数(引用作为函数参数声明不进行初始化
比如,有这么一个人,我们称作“姥姥”,也有人称呼是“外婆”,有人问你你姥姥是谁?或者问你你外婆是谁?我们知道这两个称呼指的是同一个人,你妈给了你姥姥一千块钱,你姥姥多了一千块钱,那么你外婆也就多了一千块钱,外婆又给了你五百块压岁钱,那你姥姥也就是少了五百块钱。姥姥 == 外婆通过修改外婆持有的资产数额,就修改了姥姥持有的资产数额
运行以下程序,变量a的别名定义为b,我们修改a值就修改了b的值,修改b的值就修改了a的值
第二通过引用交换两个变量的值
我们知道这个程序是无法实现交换两个数值的,如果想交换两个数值,按照以前的办法就是使用指针这里不多说。
我们学习了引用之后可以通过引用来实现交换两个变量的值
如下程序,xy是实参,ab是形参,将实参xy赋值给形参ab,ab就是x、和y的别名,改a、b就是把x、y的数值改了
最后说明一点:引用作为函数参数声明不进行初始化。
注意:在程序时,最初定义的函数是swap,调用函数时发现swap(x,y)swap(&x,&y)都可以编译运行成功,匪夷所思!
原来C++自己有一个swap函数,因为我将我写的swap函数定义屏蔽后,发现依旧可以调用该函数!因此后来改为myswap函数。
【C++】笔记系列均为原创,转载请注明转自微号:Lightspeed-Tech  或  AutoCode
更多精彩资料,请关注!

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表