CPP学习之——引用对象及空引用(9.4-9.5)
本节课,我们定义一个对象的别名
二 代码及结果
2.1 代码
1 | #include<iostream> |
2.2 输出结果
1 | 123 |
2.3 说明
- Human &rHuman=Human;不能这样定义。因为Human是一个类型,它没有具体的内存类型。所以我们不能定义一个它的别名
- 注意:定义一个引用时,一定要同时对该引用进行初始化
- 引用就像常量,只能对其进行初始化,不能赋值
三 空引用
- 我们知道指针进行删除操作后,需要将它们赋为空,引用却不需要这么做,这是因为引用是原来对象的别名,假如该对象存放在栈中,那么再对象超出作用域时别名会和对象一起消失。假如该对象存放在堆中,由于堆中内存空间必须使用指针来访问,因此用不着别名,即使再定义一个该指针的别名,那么将指针删除并赋空之后,该指针的别名中的地址也相应的赋空了。