[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++]——引用(&)的主要内容,如果未能解决你的问题,请参考以下文章