概述:本篇主要讲述“引用“ 分别就引用的概念、引用特性、引用的应用场景、以及常引用展开描述。后续会补充引用的底层原理,敬请期待。
目录
什么是引用?
引用的三个特性
引用的应用
引用做参数
引用做返回值
常引用
总结
什么是引用?
引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间
在语法层 我们认为没有开辟新的空间,而是给原来的取了一个新名称b
引用的三个特性
1.引用在定义的时候需要进行初始化
2.一个变量可以有多个引用
3.引用一个实体后不能再引用另外一个实体(不然就是赋值而非引用)
引用的应用
引用做参数
1.swap应用(简单用例)
2.修改链表(不需要传二级指针)
3.输出型参数
引用做返回值
1.首先让我们来回顾一下传值返回
2.传引用返回(会出一篇博客专门详细讲解过程)
比如 可能出现空间被占用的情况 那么此时就是随机值了
3.什么情况能用传引用返回
常引用
权限放大
权限不变
权限缩小
总结
引用的作用主要体现在传参和传返回值
1.引用在传参和传返回值 有些场景下面 可以提高性能(大对象 + 深拷贝对象(后面补充))
2.引用在传参和传返回值 ,输出型参数和输出型返回值。通俗点说,有些场景下面,形参的改变可以改变实参。有些场景下面,引用返回 可以改变返回对象(后面补充)。