首页 > 编程语言 > 详细

C++笔记(引用)

时间:2019-02-11 16:29:11      阅读:126      评论:0      收藏:0      [点我收藏+]

引用为对象起了另一个名字,引用类型引用另外一种类型。通过将声明符写成&d的形式来定义引用类型,其中d是声明的变量名:

    int ival = 1024;
    int &refVal = ival;//refVal指向ival(是ival的另一个名字)
    int &refVal2;//报错:引用必须被初始化

一般在初始化变量时,初始值会被拷贝到新建的对象中。然而定义引用时,程序会把引用和它的初始值绑定在一起,而不是将初始值拷贝给引用。一旦初始化完成,引用将和它的初始值对象一直绑定在一起。因为无法令引用重新绑定到另外一个对象,因此引用必须初始化。

引用即别名:引用并非对象,相反的,它只是为一个已经存在的对象所起的另外一个名字。

定义一个引用之后,对其进行的左右操作都是在与之绑定的对象上进行的:

    refVal = 2;//把2赋给refVal指向的对象,此处即是赋给了ival
    int ii = refVal;//与ii=ival执行结果一样

因为引用本身不是一个对象,所以不能定义引用的引用。

引用的定义

  允许在一条语句中定义多个引用,其中每个引用标识符都必须以符号&开头:

    int i = 1024, i2 = 2048;//i和i2都是int
    int &r = i, r2 = i2;//r是一个引用,与i绑定在一起,r2是int
    int i3 = 1024, &ri = i3;//i3是int,ri是一个引用,与i3绑定在一起
    int &r3 = i3, &r4 = i2;//r3和r4都是引用

  引用只能绑定在对象上,而不能与字面值或某个表达式的计算结果绑定在一起。

    int &refVal4 = 10;//错误:引用类型的初始值必须是一个对象
    double dval = 3.14;
    int &refVal5 = dval;//错误:此类引用类型的初始值必须是int对象

 

C++笔记(引用)

原文:https://www.cnblogs.com/suomeimei/p/10362221.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!