C++学习笔记(2):引用(reference)

注:转载请标明原文出处链接: https://lvxiaowen.blog.csdn.net/article/details/106989359

1 引用是什么?

在这里插入图片描述
生活中很多人既有姓名也有外号,引用的概念类似于人的外号。

引用变量是一个别名,即某个已存在变量的另一个名字。一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量。


2 引用类型

2.1 基本数据类型的引用

格式:[类型名] &[引用名]=[目标变量名];
在这里插入图片描述
分别对别名和原名赋值,二者会相互影响,代码如下:

#include <iostream>
using namespace std;

int main(void)
{
	int a = 10;
	int &b = a;

	b = 20;
	cout << b << endl;

	a = 30;
	cout << b << endl;

	system("pause");
	return 0;
}

执行结果:
在这里插入图片描述

2.2 结构体类型引用

格式:[结构体类型名] &[引用名]=[目标变量名];
在这里插入图片描述

2.3 指针类型的引用

格式:[类型名] *&[指针引用名] = [目标指针名]
在这里插入图片描述

3 引用作函数参数

传递引用给函数与传递指针的效果是一样的。

在这里插入图片描述
使用引用做函数参数,将两个值进行交换,代码如下:

#include <iostream>
using namespace std;

void fun(int &a, int &b)//x的别名为a,y的别名为b
{
	int c = 0;
	c = a;
	a = b;
	b = c;
}

int main(void)
{
	int x = 10, y = 20;
	cout <<"交换前x,y的值为:" << x << "," << y << endl;
	fun(x, y);
	cout << "交换后x,y的值为:" << x << "," << y << endl;
	system("pause");
	return 0;
}

执行结果:
在这里插入图片描述

4 引用 vs 指针的区别

(1) 不存在空引用。引用必须连接到一块合法的内存。
(2) 一旦引用被初始化为一个对象,就不能被指向到另一个对象。指针可在任何时候指向另一个对象。
(3) 引用必须在创建时被初始化。指针可以在任何时间被初始化。


参考资料

[1] https://www.imooc.com/learn/381
[2] https://www.runoob.com/cplusplus/cpp-references.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值