一、引用的特点
1.引用本身不占用内存空间,与被引用对象共用内存
2.引用定义时,必须初始化
3.引用的类型必须与被引用对象的类型保持一致 比如:int a; 引用必须使用int&
4.引用只能引用一个对象,一个对象可以被多次引用。
如:int a; int& ra = a; int& rra = a;
二、指针和引用区别
引用本质上也是一个指针,它引用的对象不可改变,但是,内存地址的内容是可以改变,引用本身不占用内存空间
如:
int a = 10; int& ra = a; //可以说ra就指向了a,不能指向其他已有变量 ra = 20; //将一个值重新赋值给ra所在的内存上
引用本质就是 type* const
指针通常情况下,指向的对象和内存地址都可以改变,但是,该指针也是一个变量,本身也占内存
三、引用的好处
1.提高程序效率
2.节省空间
3.避免指针使用不安全性
四、引用的使用场景
1.引用作为函数的形参
type 变量 const type 变量
type& 变量 const type& 变量
2.引用作为函数的返回值,返回的地址要合法,比如:堆内存 全局变量 静态变量