- 引用只是变量的别名,一个变量可以有多个别名
- 声明引用时必须同时进行初始化,且声明之后不能再作为其他变量名的引用
- 因为引用不是一个对象,所以不能定义引用的引用,不能建立引用的数组
- 对于临时变量,不要返回他的引用
- 指针可以为空,而引用不能为空
- 指针比引用更为灵活,反过来,引用比指针更加安全
- 常引用声明方式:
const <类型标识符> &<引用名> = <目标变量名>
用这种方式声明的引用,不能通过引用对目标变量的值进行修改,从而使引用的目标成为const,达到了引用的安全性。
- 不能定义引用的指针,但可以定义指针的引用
(想要看懂声明类型是什么,最简单的办法就是从右往左读,离变量名最近的符号对其类型有最直接的影响)
int a = 1;
int &*p1 = &a; //false
int *&p2 = &a; //true