c++ 没有合适的默认构造函数可用_第一课:C过度到C++(3)

如果你想学C/C++可以私信小编“01”获取素材资料以及开发工具和听课权限哦!

引用

首先我们来看引用怎么使用,代码如下:

#include int main(){ int val = 10; int &refVal = val; std::cout << val << std::endl; std::cout << refVal << std::endl; return 0;}

输出结果相信我们大家都很清楚了,没错,输出了两个10

c24ca7e334af73084195268935c8fa5d.png

我简单的修改一下代码,如下所示:

#include int main(){ int val = 10; int &refVal = val; std::cout << val << std::endl; std::cout << refVal << std::endl; val = 18; std::cout << val << std::endl; std::cout << refVal << std::endl; return 0;}

此时的输出结果应该是怎么的呢?相信大家心里已经有了答案了。

51f909dced23705366abe7db8bf69aba.png


那么,为什么会这样呢?我明明修改的是val的值呀,可为什么refVal的值也跟着变了呢?其实引用就相当于一个变量的别名。如果你不相信的话,请看下面的代码,这次改变我不再改变val的值,而是 改变refVal的值,看看结果会是怎样的呢?

#include int main(){ int val = 10; int &refVal = val; std::cout << val << std::endl; std::cout << refVal << std::endl; val = 18; std::cout << val << std::endl; std::cout << refVal << std::endl; refVal = 88; std::cout << val << std::endl; std::cout << refVal << std::endl; return 0;}

还是直接公布答案吧。

741f0e4ed174cd3b6f56269c40f2547d.png


相信大家看到这个结果之后,对引用是不是有了一个很深的理解了呢?

对!引用其实就是一个变量的别名!

那么既然说引用是一个变量的别名,那么它们的地址一样吗?大家可以先猜一下,然后再看输出结果,测试代码如下:

#include int main(){ int val = 10; int &refVal = val; std::cout << val << std::endl; std::cout << refVal << std::endl; std::cout << "val 地址:" << &val << std::endl; std::cout << "refVal 地址:" << &refVal << std::endl; return 0;}
9cb31bb494f201578e2f12533930eca0.png


输出的地址居然相同,所以更加说明了引用就是变量的另一个别名。

到此,

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值