定义
- 引用的本质是 指针常量,即如下
int b=10;
int & a=b;//这个编译器编译时会改成 int * const a =&b;
- 引用又可叫其它变量的别名
注意事项
- 因为引用的本质是个常量,所以必须要初始化(定义时必须给初值),常量若不初始化,后面赋值就相当于更改值了,是不允许的,所以必须初始化;
- 引用可以作为类成员变量,但是必须要在初始化列表中进行初始化,不能直接在构造函数里初始化,且构造函数形参也必须是引用类型。
- 凡是有引用类型的成员变量的类,不能有缺省构造函数。原因是引用类型的成员变量必须在类构造时进行初始化。(每个构造函数都应该初始化没有类内初始值的引用类型变量,不能遗漏,哪怕是拷贝构造函数)
- 如果两个类要对第三个类的数据进行共享处理,可以考虑把第三个类作为这两个类的引用类型的成员变量。