一、引用:
- 引用不是一个对象,而是给对象另起一个别名
- 引用在定义时,系统不会为其分配内存。
- 引用在定义时必须要初始化,在定义时就必须要和它的初值绑定在一起,并且整个程序运行中都不能再重新绑定到另一个对象。
- 引用类型的初值必须是一个对象。
int a=10; int &b=a; // 正确 int &c=10; // 错误,在此引用类型不能是直接的值,必须是一个对象
二、指针:
- 指针本身就是一个对象,允许对指针进行赋值和拷贝
- 指针的生命周期内,可以先后指向几个不同的对象。
- 指针无需在定义时就必须赋值(但是一般最好将定义的指针进行初始化为 nullptr)
- 指针在定义时需要为其分配内存空间。
- 指针变量中存放的是地址。