• 引用


    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;

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

  • 相关阅读:
    Java String 字符串操作小结
    找到一篇关于 Oracle 全文检索实践 的文章
    Java中Array与ArrayList的主要区别
    Java使用Array类创建多维数组
    [例] 用MappedByteBuffer更新文件内容
    java nio 之MappedByteBuffer
    Java.util.Properties类
    Oracle外连接与条件的组合
    Oracle 树形SQL语句,SYS_CONNECT_BY_PATH 函数
    SQL Connect By 的例子
  • 原文地址:https://www.cnblogs.com/fate-/p/12755289.html
Copyright © 2020-2023  润新知