《c++primer笔记》复合类型--引用

本文介绍了编程语言中的复合类型,特别是引用类型的概念与使用方法。详细解释了如何声明和初始化引用,以及引用与其他对象之间的绑定关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 复合类型:基于其他类型定义的语言

这里介绍两种

  • 引用

  • 指针



声明语句:一个基本数据类型,一个声明符列表组成

  • 引用:为对象起另外一个名字

  • 引用类型:引用另外一种类型

int ival = 1024;
int &refVal = ival;        //refVal指向ival(是ival的另一个名字)
int &refVal2;              //报错,引用必须被初始化
  • 一般初始化变量:初始值会被拷贝到新建的对象中

  • 定义引用:把引用和他的初始值绑定在一起,而不是拷贝给引用。初始化完成,引用和初始值一直绑定在一起。因为无法让引用重新绑定另外一个对象,所以引用必须初始化


  1. 引用及别名

    1. refVal = 2;        //把2赋给refVal指向的对象,即给了ival
      int ii = refVal;
      
    2. 引用赋值:把值赋给了与之绑定的对象。
      
    3. 获取引用的值:获取与之绑定的对象上的值

    4. 以引用作为初始值:引用绑定的对象作为初始值

    1. 引用不是对象,他只是为已经存在的对象所起的另外一个名字,定义引用后,所有的操作都是在其绑定的对象上进行的。

    2. //正确:refVal13绑定到了那个与refVal绑定的对象上,就是绑定到了ival上
      int &refVal13 = refVal;        
      //利用与refVal绑定的对象的值初始化变量i
      int i = refVal;        //正确:i被初始化为ival的值
      
    3. 引用本身不是对象,所以不能定义引用的引用。




  2. 引用的定义

    1. 允许一条语句定义多个引用,每个引用标示符必须以&开头

    2. 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都是引用
      


    3. 除了2.4.1(55页)和15.2.3(534页)介绍的两种例外,其他引用的类型都要与之绑定的对象严格匹配。引用只能绑定在对象上,不能使字面值或某个表达式的结果,原因2.4.1详述。

    4. int &refVal4 = 10;
      double dval = 3.14;
      int &refVal5 = dval;


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值