彻底搞懂 C++ 引用

本文介绍了C++中的引用,包括引用的概念、初始化、注意事项,并对比了引用与指针的区别。引用作为函数参数时能提供更高效、可读性强的代码,例如在`swap`函数中的应用。此外,强调了引用必须在定义时初始化,并且一旦绑定就不能改变。
摘要由CSDN通过智能技术生成

1.引用的概念

引用就是某一变量(目标)的别名,也即,引用是某个已存在变量的另一个名字。对引用的操作和对变量名直接操作完全一样。

2.引用的初始化

类型标识符 & 引用名 = 目标变量名;
此处 & 并非取地址操作符,而是起标识作用,标识所定义的标识符是一个引用。引用声明完成后相当于目标变量有两个名称,例如:

int a = 7;
int &b = a;

(b和a标志的是同一块内存,对a或者b进行操作,都可以改变它们指向的这一块儿内存存储的数据。)

3.定义引用注意事项

  • 引用在定义时必须初始化,如 int &a;是违法的
  • 引用在初始化时只能绑定左值而不能绑定常量值
  • 引用一旦初始化,其值就不能再更改,即不能再做别的变量的引用
  • 数组不能定义引用,因为数组是一组数据,无法定义其别名。

4.引用和指针的不同

  • 不存在空引用,引用必须连接到一块合法的内存(存在空指针)
  • 一旦引用被初始化为某个对象,就不能指向另一个对象。
int a,b;
int &c = a;
int &c = b; //使c又变成b的引用是违法操作
  • 引用必须在创建时就被初始化,而指针可以在任何时间被初始化

5.引用的应用

C++增加引用的类型,主要的应用就是把它作为函数的参数,以扩充函数传递数据的功能,引用作为函数参数时是区别于值传递和址传递的引用传递。

利用引用传递可以克服 值传递和址传递 中容易出现错误且程序可读性差的缺点。直接操作变量,简单高效可读性又好。

#include <iostream>
using namespace::std;

void swap(int &x,int &y){
	int temp = x;
	x = y;
	y = temp;
}
int main()
{
	int a,b;
	cout<<"请输入两个整数"<<endl;
	cin>>a>>b;
	swap(a,b);
	cout<<"swap:"<<a<<" "<<b<<endl;
	system("pause");
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值