引用(Reference)与指针
Moakap
引用是一个现有对象的别名。
引用与指针的区别:
1. 不存在空引用;
2. 必须初始化;
初始化要求:当一个引用初始化时,它所指向的那个对象必须存在。
3. 引用对象不可改变;
一旦一个引用被初始化去指向一个特定的对象,那么在该引用的整个生命周期内,都被绑定到用于初始化的那个对象上。
常量引用于非常量引用
常引用的作用:
1) 禁止引用对象被修改;
2) 省略临时对象拷贝等操作,提高效率;
初始化:
一个指向非常量的引用是不可以用字面值或临时值进行初始化的:
Int &a = 123; //错误
指向常量的引用可以使用字面值初始化:
Const int &a = 123;// OK.
此时,引用变量实际上被指向“采用该字面值初始化”的一个临时位置。即a并不是指向123,而是指向一个采用123初始化的、类型为int的临时变量。