c++ 指针与引用
指针:从本质上是存放变量地址的变量,在逻辑上是独立的,它可以被改变,包括其所指向的地址的改变和其指向的地址中所存放的数据的改变。
引用:是一个别名,它在逻辑上不是独立的,它的存在有依附性,所以引用必须在一开始就被初始化,而且引用的对象在其整个生命周期中是不能被改变的(自始至终只能依附于同一个变量)。
引用很易与指针混淆,它们之间有三个主要的不同:
- 不存在空引用。引用必须连接到一块合法的内存。
- 一旦引用被初始化为一个对象,就不能被指向到另一个对象。指针可以在任何时候指向到另一个对象。
- 引用必须在创建时被初始化。指针可以在任何时间被初始化。