zoukankan      html  css  js  c++  java
  • 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;
    
    }

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

  • 相关阅读:
    Sqli Labs Less-21-31
    sqli labs Less-11-20
    基础知识补充及sqli-labs Less 5-10
    sqli-labs Less 2-4
    Sql简单的搜索语句及sqli-labs的less-1
    Sqli labs相关环境的下载与安装
    行内元素没有宽高,块级元素有宽高
    Webview上传文件的那些坑
    [Android开发] 代码code设置9.png/9-patch 图片背景后,此view中的TextView等控件显示不正常(常见于listview中)
    AndroidSupportDesign之TabLayout使用详解
  • 原文地址:https://www.cnblogs.com/D-Rui/p/9769181.html
Copyright © 2011-2022 走看看