1. 引用的基本使用
作用:给变量起别名
别名和原名操作的都是同一块内存
2. 引用注意事项
引用必须初始化
引用在初始化后,不可改变
int a = 10;
int& b = a; //初始化
3. 引用做函数参数
作用:函数传参时,可以利用引用的技术让形参修饰实参(引用传递和地址传递类似);
优点:可以简化指针修改实参
4. 引用做函数返回值
作用:引用是可以作为函数的返回值存在的。当函数返回的是一个引用时,可以作为左值存在。
注意:不要返回局部变量引用,当返回局部变量引用时,因为局部变量保存在栈区中,所以数据会被清掉(第一次返回的数据是正确的,是因为编译器为我们保存了一次数据)。
5. 引用的本质
引用的本质在C++程序内部实际上是一个指针常量
C++推荐使用引用,因为语法方便,引用的本质是指针常量,C++内部会自动帮我们进行指针操作
6. 常量引用
作用:常量引用主要用来修饰形参,防止误操作。在函数形参列表中,可以加const修饰形参,防止形参改变实参。
int main()
{
int& b = 10; //错误,不合法,引用必须引用一块合法的内存空间
const int& c = 10; //正确,当执行此代码时,程序自动转换为:int temp = 10; const int& c = temp;
//且,const修饰该引用之后,引用的值不可再改变
return 0;
}
使用场景:
void func1(const int& val)
{
//const修饰引用之后,不可在函数内部再修改val的值
cout << val << endl;
}
int main()
{
int k = 1000;
func1(k);
return 0;
}