引用

引用就是给变量起别名,它并没有重新建立了一个副本 ,对引用做的任何操作都是对其代表的变量的改动。由于引用并不生成副本,所以在传递参数的时候效率更高。

一:定义

如:int i;

       int &a=i;

这里就建立了一个对i的引用。要注意的是引用在定义的时候必须指明它要引用的变量。如int &a;a=i;这种是错误的。

二:使用

   1.直接使用

#include <iostream>
using namespace std;

int main()
{
	int i = 10;
	int &a = i;
	cout << "i=" << i << " a=" << a << endl;
	

	return 0;
}

   2.作为函数参数使用。 

          引用参数对应的是实参变量的别名,所以被调函数里面的形参的改变可以改变主调函数的实参的值。

#include <iostream>
using namespace std;

void swap(int &a, int &b)
{
	int t;
	t = a;
	a = b;
	b = t;
}

int main()
{
	int x = 1, y = 2;
	cout << "交换前:";
	cout << "x=" << x << " y=" << y << endl;
	swap(x, y);
	cout << "交换后:";
	cout << "x=" << x << " y=" << y << endl;
	

	return 0;
}

   3.作为函数返回值使用

         若函数返回值为引用,则返回的不仅仅是一个值,函数调用结果是一个左值,可以对它的存储空间进行运算。

#include <iostream>
using namespace std;

int &max(int &a, int &b)
{
	if (a > b)
		return a;
	else
		return b;
}

int main()
{
	int x = 1, y = 2;
	int z;
	z = max(x, y)++;
	cout << "x=" << x << ", y=" << y << " ,z=" << z << endl;
	

	return 0;
}

可见它对y进行了加一,是因为函数 返回的是b他是y的引用,所以y的结果变为了3.。                                                           

注意:函数返回值为引用时,不能返回局部变量的引用。  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值