C++学习笔记——复合类型(1)

复合类型(1)——引用

C++语言有几种复合类型,介绍其中两种:引用和指针
本文介绍 引用

前言

对于初学者来说太难了(虽然不知道我为什么过了这么久还是初学者),上课的时候因为课程进度略过了,下来自己弥补一下。

引用简介

严格来说,当我们使用术语引用 时,指的其实是左值引用
引用即别名 :引用并非对象,它只是为一个已经存在的对象所起的另外一个名字。
定义引用时,程序把引用和它的初始值绑定在一起,而不是将初始值拷贝给引用。一旦初始化完成,引用将和它的初始值对象一直绑定在一起。

引用必须初始化,且初始值必须为一个对象

正确定义如下:
int ival=1024;
int &refVal=ival;//refVal指向ival(是ival的另一个名字)

引用的应用

接上段代码

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

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

int &refVal3=refVal;//refVal3绑定到ival上
int i=refVal;//i被初始化为ival的值
int i=1024, i2=2048;
int &r=i,r2=i2;

注意:引用类型的初始值与引用定义类型相同

double dval=3.14;
int &refVal5=dval;//错误

例外情况

(1)const的引用
对常量的引用 :把引用绑定到const对象上
对常量的引用不能被用作修改它所绑定的对象

const int ci=1024;
const int &r1=ci;//引用及其对应的对象都是常量

允许为一个常量引用绑定非常量的对象、字面值,甚至是个一般表达式:

int i=42;
const int &r1=i;//允许将const int&绑定到一个普通int对象上
const int &r2=42;//r2是一个常量引用
int i=42;
int &r1=i;//引用r1绑定对象i
const int &r2=i;//r2也绑定对象i,但是不允许通过r2修改i的值

(2)存在继承关系的类
可以将基类的引用绑定到派生类对象上
当使用基类的引用时,实际上我们并不清楚该引用所绑定对象的真实类型。该对象可能是基类的对象,也可能是派生类的对象。

(持续更新中)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值