[C++] 引用类型&

引用的方法:

类型 &引用名 = 变量名;

例如:

int a = 5;
int &b = a;

 

引用的规则:

1、引用被创建的同时必须被初始化

2、无null引用,引用必须与合法的存储单元关联

3、一旦引用被初始化,就不能改变引用的关系

4、引用只能引用变量,不能引用常量和表达式

 

举例:

#include <iostream>

using namespace std;

// 使用普通类型交换,失败
void swap1(int a, int b)
{
    int tmp;

    tmp = a;
    a = b;
    b = tmp;
}

// 使用引用类型交换,和指针功能一样,成功
void swap2(int &a, int &b)
{
    int tmp;

    tmp = a;
    a = b;
    b = tmp;
}

int main(void)
{
    int a = 35;
    // b是a的引用类型,b是a的别名,本质是同一个变量
    int &b = a;

    // a和b的值一样
    cout << "a = " << a << ", b = " << b << endl;
    // a和b的地址相同
    cout << "&a = " << &a << ", &b = " << &b << endl;

    // 设置a的值,b也随之改变
    a = 100;
    cout << "a = " << a << ", b = " << b << endl;
    // 设置b的值,a也随之改变
    b = 55;
    cout << "a = " << a << ", b = " << b << endl;

    int c = 500;

    cout << "a = " << a << ", c = " << c << endl;
    // 交换失败
    swap1(a, c);
    cout << "a = " << a << ", c = " << c << endl;
    // 交换成功
    swap2(a, c);
    cout << "a = " << a << ", c = " << c << endl;

    return 0;
}

 

执行结果:

 

posted @ 2019-12-08 14:18  LeeAaron  阅读(488)  评论(0编辑  收藏  举报