C++ ——— 引用的概念以及特性

目录

引用的概念

引用在实际代码中的作用

引用的特性

1. 引用在定义时必须初始化

2. 一个变量可以有多个引用

3. 可以给别名再次取别名,或者多次取别名

4. 引用一旦引用了实体,就不能再引用其他实体了


引用的概念

引用不是新定义一个变量,而是给已存在的变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间

引用的关键字:

&

引用的基本语法:

int a = 0;

int& b = a;

在内存中开辟了一块空间,这块空间的名字为 a,并且在这块空间里存储了 0 这个值

b 就是 a 取的别名,b 也指向这块空间

验证是否是指向同一块空间(打印a、b变量的地址):

可以看到,确实是指向了同一块空间

那么对变量 b 自增 1 ,变量 a 是否也会自增 1 呢

代码测试:

由此再一次证明了 b 是 a 的别名,b 和 a 指向了同一空间


引用在实际代码中的作用

代码演示:

void Swap(int& a, int& b)
{
	int tmp = a;
	a = b;
	b = tmp;
}

比如说在交换函数中,就可以不用再像 C语言 那样,形参用指针接收,再对指针解引用才能进行交换,而是可以直接利用引用,给要交换的两个变量取别名,就能直接交换了

代码验证:

引用的实际用途还有很多,在之后的学习中会频繁使用,这里就不过多举例


引用的特性

1. 引用在定义时必须初始化

	int& ra; //该条语句编译时会出错

2. 一个变量可以有多个引用

int a = 0;

int& ra = a;
int& rra = a;

代码验证:

3. 可以给别名再次取别名,或者多次取别名

int a = 0;

int& ra = a;
int& rra = ra;
int& rrra = rra;

代码验证:

4. 引用一旦引用了实体,就不能再引用其他实体了

int a = 0;
int& ra = a;

int x = 1;
ra = x; //这里是赋值

ra 是作为 a 的别名,而 ra = x 的意思是把 x 的值赋值给 ra,并不是更改 ra 的别名指向

代码验证:

打印地址和变量的值也可以看出来,a 和 ra 的地址还是一样的,且 ra 被赋值为 1 后, a 也跟着变为了 1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值