C++引用:&

来源:互联网 发布:仿美文网整站源码 编辑:程序博客网 时间:2024/06/06 15:55

引用

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;}

因此我们可以利用引用写函数来便于理解,方便使用。

原创粉丝点击