用“法外狂徒”理解C++中的引用

目录

1.引用的概念

2.引用的特点

3.引用的使用

3.1 常引用

3.2 引用的使用场景

3.2.1 做参数  

3.2.2 做返回值​       猜测一下代码的输出结果是什么?

3.2.3引用修改返回变量​

3.3传值,传引用效率比较

3.3.1传引用返回和传值返回的比较

3.3.2 传值做参数和传引用组参数的比较

4.总结


1.引用的概念

引用不是新定义的变量,而是给已经存在的变量取一个别名,编译器不会为引用变量开辟新的内存空间,它和它引用的变量共用一块内存空间;比如 “法外狂徒” 就是 ”张三” 的别名;

类型& +引用变量名(对象名)=引用实体                                                                                          具体代码如下所示:

int main()
{
	int a = 10;
	int& d = a;
	return 0;
}

通过调试可以明显的看出 ‘ d ’ 和 ‘ a ’ 的地址是一致的,说明引用没有开辟新的空间

2.引用的特点

1.引用在定义的时候必须初始化;

2.一个变量可以有多个引用,但是一个引用只能是某一个变量的引用

很明显,当 ‘ d ’ 是 ‘ a ’的引用的时候,‘ d ’就不能作为变量 ‘ x ’ 的引用。但是同一个变量 ‘ a ’却可以用多个引用。

3.引用的使用

3.1 常引用

看下面的例子:

 为什么当引用实体为常量的时候,编译器会报错?

因为10是常量,是不可以被更改的,而引用变量 ‘ a ’是一个变量,两者不匹配,所以编译器会报错;所以,只要在int前面+上一个const,引用变量就不能被修改了;这个例子说明了引用的权限可以被缩小。<

  • 10
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 14
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

年轻人江老Der

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值