函数的返回值是引用

传智扫地僧课程学习笔记。


C++引用使用时的难点:

当函数返回值为引用时

若返回栈变量

不能成为其它引用的初始值

不能作为左值使用

若返回静态变量或全局变量

可以成为其他引用的初始值

即可作为右值使用,也可作为左值使用

上面是老师笔记中的总结,

我的理解就是,函数返回值的生命周期,

比如栈上的变量,就是临时的,故不适合借出使用,


对于接返回值得是普通变量,就相当于给它拷贝了一份值,

对于接返回值的是引用,这就相当于托管了返回的那个变量,而那个变量若是被释放了,就可能会内存污染,


对于函数返回引用作为左值的情况,

理解这个就抓住一点,常量不能作为左值,

普通函数返回不能作左值,是因为返回的是一个数值,

而引用返回,就可以代表一个变量,一个有内存地址的地方,



这里还只是基础数据类型引用的返回,

后面还要讲复杂数据类型引用的返回,

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值