zoukankan      html  css  js  c++  java
  • 引用

    1  什么是引用

    一个与指针密切相关的特殊数据类型--引用

    *引用是一个变量的别名,定义引用类型变量,实质上是给一个已定义的变量起一个别名,引用类型变量与其相关的变量使用同一个内存空间。

    定义引用类型变量的一般格式为:

    类型  &引用名=变量名

    如:

    int    a=3;

    int   &ra=a;

    3  引用的一些要点

    1)引用与指针的不同:

      a.指针是一个变量,可以把它再赋值指向别的地址

      b.而引用一旦初始化,其地址不会再变

    2)定义引用时,必须将其初始化。

    3)引用数组时,要注意引用方法。

      

    例如:

      int   a[10];

      int   &ra=a;//错误:不能建立数组的引用

      //数组是某个数据类型元素的集合,数组名表示该元素集合空间的起始地址,它自己不是一个真正的数据类型,所以这种引用是不对的。

      int   &rae=a[0];//正确:指向数组的元素

    下面给出正确引用数组的方法:

    #include<iostream>
    using namespace std;
    int main(){
        int a[5]={1,2,3,4};
        int (&ra)[5]=a;
        cout<<ra[3];
        return 0;
    }

    这样引用,编译是没有错误的,并且引用数组可以像原来数组那样使用,

    想要正确引用数组,要注意以下两点:

        第一个地方是‘&’的位置,它必须要和引用数组的名称用括号括起来。

        第二个地方是必须指定引用数组中的元素个数,且元素的个数必须要和被引用的数组中的元素个数相同。

    4、可以引用一个结构体

    例如:

    struct PERSON{
        int age;
        char name[25];
    };
    PERSON one;
    PERSON &rone=one;

    5、引用本身也不是一种数据类型,所以没有引用的引用。

    4  引用在函数参数中的引用

    1)引用作函数参数

      c++提供引用,主要用途之一是建立函数参数的引用传递。引用说明符&可以在函数里说明引用类型参数,即引用作函数参数

    下面的swap函数可以用引用作函数参数:

    void swap(int &a,int &b){
        int temp;
        temp=a;
        a=b;
        b=temp;
    }

    现在如果要交换两个整型变量i和j的值,可用下面的方法调用swap函数:

    int a=10,b=20;
    swap(a,b);//交换后结果为:a=20,b=20;

    通过引用传递,不用指针也能够改变实参的值。

  • 相关阅读:
    python中的矩阵运算
    【python问题系列--4】ValueError: operands could not be broadcast together with shapes (100,3) (3,1)
    【Machine Learning in Action --4】朴素贝叶斯从个人广告中获取区域倾向
    php使用数组语法访问对象
    curl: (60) SSL certificate problem: unable to get local issuer certificate 错误
    php 回调、匿名函数和闭包
    php5.3 延迟静态绑定 static关键字
    利用redis完成自动补全搜索功能(三)
    利用redis完成自动补全搜索功能(二)
    利用redis完成自动补全搜索功能(一)
  • 原文地址:https://www.cnblogs.com/fate-/p/12755289.html
Copyright © 2011-2022 走看看