1.什么叫引用:引用就是给变量起别名
2.引用的语法:数据类型& 别名=原名
int a = 2;
int& c = a;
3.引用的本质是常量指针,所以引用必须初始化,且初始化后不能修改。
//指针的本质是指针常量
//编译器自动转换为指针常量 int * const ref = &b
//指针常量指向是不可以改的,但是内容是可以修改的
int ref = b;
ref = 10; //内部发现ref是引用的时候,自动转换为*ref
4.引用作为函数参数以及函数返回值
int& ret(int& a)
{
int& p = a; //声明一个引用,用于保存a的地址 (引用其实就是常量指针)
p = 100; //p和a指向一个地址,修改p就是改a
return p; //返回引用,因为返回值的类型就是引用.
}
int main()
{
int a = 2;
int b = 3;
int e = 120;
// 引用作为参数
cout << ret(a) << endl; // 将引用作为参数传递
cout << a << endl; // a已经修改为了100
ret(a) = e; // ret(a)可以作为左值,是因为ret(a)就是a,支持修改
cout << a << endl;
}
调试结果: