zoukankan      html  css  js  c++  java
  • 引用

    一:简单介绍

    引用又称别名,一般指左值引用。

    使用方式:类型 &引用变量 = 初始值;

    引用必须初始化,初始值必须是一个有内存的地址对象;

    引用一旦绑定到对象,将无法绑定其他对象;

    右值是为了支持移动操作,是一个临时数,不能取地址;

    定义形式:类型 &&右值引用变量 = 右值表达式;

    二:比较分析

    1)引用VS赋值:

     初始化变量:初始值会被复制到对象中;变量可以修改;

    初始化引用:绑定一个变量(存地址);引用初始化后不可修改;

    引用不是对象,它是对象的别名(只是对象的起始地址),引用被实现为与所引对象相同的内存地址;

    2)引用VS指针:

    指针可以指向同类型的不同的对象;引用不行;

    引用是对象的一个别名,定义时必须是有内存地址的对象进行初始化;指针是拥有独立内存的变量,可以改变它的内容;

    指针通过解引用*使用,引用直接使用;

    指针可以不指向任何对象,为0,引用不可,必须初始化;

    指针的赋值改变的是指向关系,引用的赋值改变的是对象的值(引用关系是不可变的);

    3)左值引用VSz右值引用:

    右值不能取地址,左值有地址,有名字;

    常数是右值,变量是左值;

    可以显式 的把左值变为右值,右值不能变成左值;

    方法:int r1=0;

    int &&r2=std::move(r1);

  • 相关阅读:
    MVVM MVC
    ASP.NET MVC中使用Bundle打包压缩js和css的方法
    BundleConfig的作用
    MVC中使用BundleConfig.RegisterBundles引用Css及js文件发布后丢失的问题
    Java面试题-1
    C语言程序设计I—寒假作业
    跟奥巴马一起画方块
    201655222第三周课上作业补做
    20165222第二周学习总结
    20165222第一周课上测试补做
  • 原文地址:https://www.cnblogs.com/muluo/p/9664491.html
Copyright © 2011-2022 走看看