目录
一.引用的概念
概念:给一个变量起别名。
定义:数据类型 &别名 = 原名
int a = 10;
int& b = a;// b 就是 a 的一个别名
二.注意事项
1.使用引用时必须初始化
2.初始化后的别名不能做为其他变量名的别名
三.引用的使用
1.作为函数参数修饰实参
函数实现交换两个变量的值,有三种方法
1)值传递
2)地址传递
3)引用
void Swap(int &a, int &b)
{
int tmp = a;
a = b;
b = tmp;
}
int main()
{
int a = 10;
int b = 20;
Swap(a, b);
cout << "a:" << a << endl;
cout << "a" << b << endl;
system("pause");
return 0;
}
2.引用作为函数返回值
int& test3()
{
static int a = 10;// static修饰后生命周期变为全局的
return a;
}
int main()
{
int& ref3 = test3();// 相当于返回a的别名给b,b也就是a的别名
test3() = 1000;// 相当于是给a的别名赋值
cout << test3() << endl;// 打印 1000
system("pause ");
return 0;
}
四.引用的本质
在使用引用编译器,会做出如下的转化
int& ref = a;// 编译器会将其转化为 int* const ref = &a
cosnt的用处
1.
const int& ref = 10 // 编译器会转化为 int tmp = 10; const int* const ref = &a
2.
常用于修饰形参,防止误操作
修饰形参:
void test(const int& a);// 无法对a进行重新赋值