一些C++引用的基础知识

引用基本语法

数据类型 &别名 = 原名  例如:

int a = 10;
int &b = a;

引用本质就是给变量起别名。  无论操纵原名还是别名,都是操纵同一块内存。

注意事项:

引用必须初始化,初始化后不可以更改引用(类似指针常量)。

引用作函数参数

作用:函数传参时,可以利用引用让形参修饰实参。

优点:可以简化指针修改实参。

 通过引用参数产生的效果和地址传递是一样的,引用的语法更简单清楚。

 引用作函数返回值

不要返回局部变量的引用

 因为局部变量存储在栈区,函数执行完就被释放掉,导致第二次输出为乱码。

 

如果函数的返回值是引用,函数的调用可以作为左值

引用和指针的区别

1.指针有自己的空间,而引用知识一个别名。

2.使用sizeof看指针大小为4,引用大小为被引用对象的大小。

3.指针可以初始化为NULL,而引用必须初始化为一个已有对象的引用。

4.作为参数传递时,指针必须解引用才可以对对象进行操作,而直接对引用进行修改就可以改变被引用的对象。

5.可以有const指针,但没有const引用,但引用在c++语法里本身的实现就是指针常量。

6.指针可以在使用中指向其他对象,而引用只能指向一个对象,不能改变。

7.指针可以有多级指针(**p),而引用只有一级。

8.指针和引用使用++运算符意义不一样。

9.如果返回动态内存分配的对象或者内存,必须使用指针,引用可能引起内存泄漏。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个头发很多的美女

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值