C++引用:&
引用
1.什么是引用:
引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。
2.引用的声明表达式
类型标识符 &引用名=目标变量名;
3.代码实现
#include<iostream>
using namespace std;
int main()
{
int a = 1;
int &b=a; //声明b是变量a的引用,b与a有同样的操作效果。
b = 2;
cout << b << endl;
cout << a << endl;
}
运行结果:
注:
- &在此并非取地址符而是引用声明符;
- 声明引用时候需要进行初始化,即声明它代表哪一个变量;
- 数组不能建立引用;
- 不能建立引用的引用;
- 一个变量可以有多个引用,但不能一个引用对应多个变量
引用作为函数参数:
我们先看一个通过指针交换两变量值的函数
#include<iostream>
using namespace std;
void swap(int* a,int* b)//形参为指针变量
{
int c = *a; //通过地址访问变量更改
*a = *b;
*b = c;
}
int main()
{
int a = 1;
int b = 2;
cout << a << endl;
cout << b << endl;
cout << endl;
swap(&a,&b); //传入变量的地址,实参为变量地址。
cout << a << endl;
cout << b << endl;
}
运行结果:
现在如果利用引用实现变量交换,我们在swap函数形参中指定变量的引用,即给实参起“别名”在swap函数中通过“别名”进行交换。
因此swap函数还可以这样写
#include<iostream>
using namespace std;
void swap(int& a,int& b)//形参为“引用”
{
int c = a;
a = b;
b = c;
}
int main()
{
int a = 1;
int b = 2;
cout << a << endl;
cout << b << endl;
cout << endl;
swap(a,b); //实参为整形变量
cout << a << endl;
cout << b << endl;
}
因此我们可以利用引用写函数来便于理解,方便使用。