zoukankan      html  css  js  c++  java
  • C++中对C的扩展学习新增语法——引用

    引用

    引用的好处:

      1、引用的好处 C++使用结构体,不需要再使用 typedef

      2、值传递是将实参进行拷贝,赋值给形参,如果对象比较大,每次拷贝效率比较低,并且函数内部无法修改外部变量的值,能力较弱。若使用地址传递无论数据大小,每次只需要传递指针大小的数据,传递效率较高,函数具有修改外部变量的能力(const 指针)而引用即可以有值传递简洁的语法,又可以兼顾指针传递的效率。

      3、如果要使用常量引用,编译器会给常量分配内存,并且让新创建的对象引用该内存。

      4、引用的机制:

        引用是通过指针来实现的,引用一旦定义就不能修改,引用的本质还是取地址,解引用,C语言中我们需要自己做,C++中引用语法是编译器帮我们做。

      5、引用的问题:引用究竟占不占用内存?

        程序员的角度:引用只是一个别名,不占用内存。

        编译器的角度:内部实现是一个指针,所以要占内存。

      6、函数的返回值类型可以是引用,地址,值。

    代码实现:

    引用的语法:

     

    基本类型及结构体引用:

     

    对数组引用:

    对指针的引用:

     引用作为返回值类型:

    注意事项:

    1.&在此不是求地址运算,而是起标识作用。

    2.类型标识符是指目标变量的类型

    3.必须在声明引用变量时进行初始化,初始化之后不能改变。

    4.不能有 NULL 引用。必须确保引用是和一块合法的存储单元关联。

  • 相关阅读:
    hdu2818 Building Block
    struct2面试准备
    Spring mvc 面试
    Spring 面试详解
    Java面试必备Springioc上
    redis高级命令4 持久化机制 、事务
    redis高级命令3哨兵模式
    redis高级命令2
    redis高级命令1
    redis基础二----操作set数据类型
  • 原文地址:https://www.cnblogs.com/yyslif/p/11661937.html
Copyright © 2011-2022 走看看