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

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

  • 相关阅读:
    CATIA 各个版本代号详解
    CATIA 基础详解 第01章 CATIA初认识
    CATIA 使用技巧--转换出轻巧的tif格式文件
    中国水墨动画系列 内容简介
    Python开发 第02课 Python 数据类型
    Python开发 第01课 Python 简介
    UG 常用设置
    matplotlib 学习笔记02:marker标记详解
    matplotlib 知识点13:绘制散点图(scatter函数精讲)
    matplotlib 知识点11:绘制饼图(pie 函数精讲)
  • 原文地址:https://www.cnblogs.com/D-Rui/p/9769181.html
Copyright © 2011-2022 走看看