引用的本质与使用

引用的本质:

这里面y,a都是x的引用,p指向的也是x的地址。

右图为引用的本质

引用和指针的区别:

从语法角度上看,引用就是一个变量的别名。

从底层上看,引用实质上是常性指针。

1.以引用返回:在函数将返回值存到将亡值中后,函数执行完毕,函数里所有开辟的空间就会被系统回收,这时b接受到的地址是一个已经不存在的地址。但是因为空间还没有被扰动,所以仍旧可以得到正确的值,但我们不这么用。

2..以引用接收d,d获得的是返回的地址,但这时空间可能被扰动,也可能没被扰动,所以得到的是一个随机值。

3.以值返回:而a接受到的直接就是值,所以是正确的。

所以我们不允许对局部变量进行引用返回,因为引用返回时返回的实际上是地址,而地址被系统回收后就不存在了。 

而全局变量,静态局部变量,以引用作为形参的变量可以引用返回。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值