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;

}

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

posted @ 2017-09-06 20:32  DuanRui  阅读(423)  评论(0编辑  收藏  举报