关于Cplus中的引用
- 引用的对象的别名。而指针存储的另一个对象的地址的变量。
- 创建引用时,使用另一个对象(目标)的名称来初始化它,从此以后,该引用就像是目标的另一个名称,对引用执行的任何操作实际上是针对的就是目标。
- 有些书上说引用就是指针,这不正确。 虽然引用常常是使用指针实现的,但是只有编译器开发人员关心这一点,作为程序员,必须区分这两种概念。
空指针和空引用
指针为初始化和被删除时,应该赋给它nullptr。但引用不能为空,让引用指向空对象的程序是非法的。
// 正确的引用
int howBig = 200;
int &rHowBig = howBig;
// 不能将引用初始化为Cat类
Cat &rCatRef = Cat; // wrong.
问题:
问:既然指针能够完成引用的所有功能,为何要使用引用?
答:引用更容易使用和理解。引用的简介关系被隐藏,无需不断接触引用。
问:既然引用更容易,为何要使用指针?
答:引用不能为空,也不能重新赋值。指针提供了强大的灵活性,但使用起来更难。
网友评论