[C++]——引用(&)

Posted FortunateJA

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[C++]——引用(&)相关的知识,希望对你有一定的参考价值。

引用是什么?

引用就是变量的一个别名引用不需要额外开辟空间。在通常情况下,操作引用相当于操作变量本身,但是也有一些特殊情况,例如引用被const修饰等情况。

引用的使用格式:

类型标识符 &引用名=变量名;
例如:

int main()

	int a = 10 ;//a为变量
	int &b = a ;//b为a的引用
	return 0 ;


在本例中,引用相当于给变量a起了一个外号叫做b,它们共用一块空间。

下面的例子就是没有使用引用,直接进行赋值操作,虽然a、b的数值相同,但是他们是放在两个独立的空间内存储,故不干扰,改变其中一个,另一个也不会发生变化。

既然我们已经知道了引用是什么及其使用方法,那我们就举个例子,切身实际的感受一下引用的便利之处:

#include <iostream>
using namespace std;

void Swap1(int *aptr, int *bptr)//利用传址交换数值

	int tmp = *aptr;
	*aptr = *bptr;
	*bptr = tmp;


void Swap2(int &x, int &y)//通过引用交换数值

	int tmp = x;
	x = y;
	y = tmp;


void Print(int a, int b)

	cout << a << " " << b << endl;


int main()

	int a = 10, b = 20;
	cout << "交换前:" ;
	Print(a, b);
	Swap1(&a , &b);
	//Swap2(a, b);
	cout << "交换后:" ;
	Print(a, b);
	return 0;


调用Swap1函数时,需要为两个指针以及临时变量开辟空间;
调用Swap2函数时,只需为临时变量开辟空间,相比于指针一定程度上的节省了空间消耗,而且在本例中,引用会比指针更好理解一些。

常引用

常引用就是加了const修饰的引用:

int a = 10 ;
int const &b = a ;

const修饰变量a的引用,那么a可以通过自身进行修改,但是不能通过引用修改。
运行结果:
通过a自身更改数值(正确)

通过const修饰的引用改变a的数值(错误)

以上是关于[C++]——引用(&)的主要内容,如果未能解决你的问题,请参考以下文章

C++之引用怎么用

C++初阶 —— 引用

C++初阶 —— 引用

C++栈区和引用

c++师傅领进门,修行靠个人第二篇:手把手教你c++入门

c++师傅领进门,修行靠个人第二篇:手把手教你c++入门