zoukankan      html  css  js  c++  java
  • 引用、return

    C语言中没有引用,引用(reference)是c++对c语言的重要扩充。
    通俗点说,引用就是“起别名”。比如变量data,和它的引用 RefData。虽然名字不同,但是操作他们的时候,都操作的是相同的内存,所以,不管你改变data还是RefData,内存中的内容都会改变。

    例子:
    int a; //声明变量a 
    int& ra = a; //声明一个引用,名字是ra,ra引用了a 
    注:1)ra声明的时候必须同时给出它到底引用了谁,不能先定义然后再指出 ;
    2)引用一旦声明,就不能再修改到其他变量上了。
    3)&在此不是求地址运算,而是起标识作用。
    4)声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,它本身不是一种数据类型,因此引用本身不占存储单元,系统也不给引用分配存储单元。
    5)不能建立引用的数组。如:int& ref [3]= {2,3,5};//声明ref引用的数组错误
    但是可以建立数组的引用。如:const int (&ref)[3] ={2,3,5};

    至于引用的作用:待续。。。


    return语句用于结束当前正在执行的函数,并将控制权返回给调用此函数的函数。有两种形式:
    1、没有返回值的函数
    不带返回值的return语句只能用于返回类型为void的函数,return语句是为了引起函数的强制结束,这种用法类似于循环结构中的break语句的作用。

    void swap(int &v1,int &v2)
    {
    if(v1==v2)
       return;
    int temp=v2;
    v2=v1;
    v1=tmp;
    }

    2、具有返回值的函数
    任何返回类型不是void的函数都必须返回一个值,而且这个返回值的类型必须和函数的返回类型相同,或者能隐式转化为函数的返回类型。
    但也有特例,即允许主函数没有返回值就结束。

    返回值:
    不要返回局部对象的引用;要返回指向局部对象的指针;引用返回左值(?);返回引用;
    未完待扩充。。。

  • 相关阅读:
    获取jsonPath的节点名称
    如何删除 macOS High Sierra 上的 swapfile
    Prototype fake it till make it.观后感
    intellij idea 初步环境熟悉
    一个比较综合的项目--》>图片缓存,下拉刷新等
    写的很好的博客->有关性能优化、图片缓存等
    layout优化之-》viewStub,requestFocus,merge,include
    有关ActionBar
    android:installLocation 解析
    Android开发效率—Eclipse快捷键
  • 原文地址:https://www.cnblogs.com/diligentcalf/p/3571707.html
Copyright © 2011-2022 走看看