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

    执行结果:

  • 相关阅读:
    爱上你的一百个理由 (网摘)
    梦想向右,沉默向左
    明夕何夕,君已陌路。
    不肯嫁的几种男人(转)
    一剪梅
    C# preprocessor Directives
    Language
    C# Language Tour
    Web application
    Unsafe code
  • 原文地址:https://www.cnblogs.com/lialong1st/p/12005644.html
Copyright © 2020-2023  润新知