(C++)引用——详细讲解和例子说明

引用已定义的变量的别名(另一个名称)


eg:有一个人叫张三,外号叫做张胖子,而张胖子就是我们所说的引用。
上面所说的张三还是张胖子,他都是同一个人。所以我们引用也是一样的,只是名称不同,但它是同一个变量。

引用变量的主要用途是用作函数的形参,通过将引用变量作为参数,函数将使用原始数据,而不是其副本,这样除指针之外,引用也可以为函数处理大型结构提供一种方便的途径。

创建引用变量(使用&符号)
&符号有两种用途:
1、变量的地址。
2、声明引用。

eg:
int a;
int & b = a;

这里&不是地址运算符,而是类型标识符的一部分,int&指的是指向int的引用。

注意:上述声明允许将a和b互换——它们指向相同的值和内存单元

程序例子:创建引用变量,看他们的值和地址是否相同,改动引用变量的值的变化


#include <iostream>

using namespace std;

int main(void)
{
	int rats = 10;
	int & rodents = rats;  //创建引用变量

	//打印两个变量的值是否一样
	cout << "rats = " << rats;
	cout << ", rodents = " << rodents << endl;
	
	//改变rodents的值,rats的值是否该改变
	rodents++;
	cout << "rats = " << rats;
	cout << ", rodents = " << rodents << endl;
	
	//打印两个变量的地址是否一样
	cout << "rats address = " << &rats << endl;	//这里的&rats是取出rats的地址;
	cout << "rodents address = " << &rodents << endl;  //这里的&rodents是取出rodents的地址;
	
	return 0;
}

运行结果:

rats = 10, rodents = 10
rats = 11, rodents = 11
rats address = 0xa8fd98
rodents address = 0xa8fd98

--------------------------------
Process exited after 0.3489 seconds with return value 0
请按任意键继续. . .

上面的程序例子可以说明,引用变量rodents和rats是同一个值,rodents的值改变,rats的值也会改变,而且rats和rodents的地址是同一个地址。

引用和指针有什么区别呢?
eg:
int rats =10;
int & rodents = rats;
int * pt = &rats;

表达式rodents和*pt都可以同rats互换,表达式&rodents和pt都可以同rats互换。
其中区别就是必须在声明引用时将其初始化,而不能像指针那样,先声明再赋值

注意:必须在声明引用变量时进行初始化。说起来引用更接近const指针,必须在创建时进行初始化,一旦与某个变量关联起来,就将一直效忠于它

一句话:引用就是变量的替身,这个替身产生就一直效忠它。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小黄TimTim仔

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

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

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

打赏作者

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

抵扣说明:

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

余额充值