类型名& 引用变量名(对象名)=引用实体;
引用不是新定义一个变量,而是给已经存在的变量取一个别名,编译器不会为引用变量开辟空间,他和他的引用共用同一块内存
- 引用在定义时必须初始化
- 一个变量可以有多个引用
- 引用一旦引用了一个实体,变不能引用其他实体
void Test() { const int a = 10; //int& ra = a; 该语句编译时会报错因为a被定义为const类型为常量,用一个普通类型的ra去引用a,ra代表可修改,a就不安全了 const int& ra = a;//可以,即使引用了也不可以修改 //int& b = 10; //也会出错,b是常量 const int& b = 10;//正确 double d = 12.34; //int& rd = d; 该语句编译报错,引用类型必须和引用实体是同种类型 const int& rd = d;//可以,const类型的引用不可修改,只会取d的整数部分 }