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;

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

  • 相关阅读:
    α波、β波、θ波和δ波
    出体的真实性
    FreeBSD查看网络情况
    灰色理论预测模型
    主成分分析法
    常用OJ名字+地址(自用)
    2017 年“认证杯”数学中国数学建模网络挑战赛 比赛心得
    Codeforces Round #404 (Div. 2)(A.水,暴力,B,排序,贪心)
    hihoCoder #1053 : 居民迁移(贪心,二分搜索,google在线技术笔试模拟)
    Codeforces Round #408 (Div. 2)(A.水,B,模拟)
  • 原文地址:https://www.cnblogs.com/fate-/p/12755289.html
Copyright © 2011-2022 走看看