引用基本语法
数据类型 &别名 = 原名 例如:
int a = 10;
int &b = a;
引用本质就是给变量起别名。 无论操纵原名还是别名,都是操纵同一块内存。
注意事项:
引用必须初始化,初始化后不可以更改引用(类似指针常量)。
引用作函数参数
作用:函数传参时,可以利用引用让形参修饰实参。
优点:可以简化指针修改实参。


通过引用参数产生的效果和地址传递是一样的,引用的语法更简单清楚。
引用作函数返回值
不要返回局部变量的引用


因为局部变量存储在栈区,函数执行完就被释放掉,导致第二次输出为乱码。
如果函数的返回值是引用,函数的调用可以作为左值
引用和指针的区别
1.指针有自己的空间,而引用知识一个别名。
2.使用sizeof看指针大小为4,引用大小为被引用对象的大小。
3.指针可以初始化为NULL,而引用必须初始化为一个已有对象的引用。
4.作为参数传递时,指针必须解引用才可以对对象进行操作,而直接对引用进行修改就可以改变被引用的对象。
5.可以有const指针,但没有const引用,但引用在c++语法里本身的实现就是指针常量。
6.指针可以在使用中指向其他对象,而引用只能指向一个对象,不能改变。
7.指针可以有多级指针(**p),而引用只有一级。
8.指针和引用使用++运算符意义不一样。
9.如果返回动态内存分配的对象或者内存,必须使用指针,引用可能引起内存泄漏。
26万+

被折叠的 条评论
为什么被折叠?



