引用

引用
作用:给变量起个别名。(访问的内存一样)
语法:数据类型 &别名 = 原名。

引用的注意事项:
1--引用必须初始化。
2--引用在初始化后就不能改变了。

引用作函数参数:
在函数传参的时候,可以利用引用的技术让形参修饰实参,可以简化指针修改。

引用作函数的返回值:

1--不要返回局部变量的引用。(局部变量是在栈区,用完就释放了)
如果返回了,第一次输出结果正确,因为编译器做了保留,第二次输出结果就乱码了。
2--函数的调用可以作为左值。(也就是可以进行赋值)

引用的本质:
引用的本质在c++中就是一个指针常量 。
int &ref = a;
在编译器内部,会变成这样
int *const ref = &a;

ref = 20在编译器内部发现ref是引用自动变成*ref = 20;

常量引用:
作用:主要用来修饰形参,防止误操作。
int & ref = 10 为什么不合法?
引用引用的应该是栈区或者堆区的内存空间,但10是在常量区。
const int & ref = 10
当加上const之后,编译器做了这样的事,
int temp = 10;
const & ref = temp;
加入const之后变成只读的状态,不可修改。

原文地址:https://www.cnblogs.com/YXBLOGXYY/p/14269070.html