const 引用 : 指向const 对象的引用 。
非const 引用 : 只想非const 对象的引用;
const 引用可以初始化为不同类型 ,如字面常量。
int i = 42;
const int &r = 42;
const int &r2 = i + 1;
非const 是不能这样做的。
例如 int ival = 10;
const int &r = ival;
编译器是这样做的:
int temp = ival; //定义temp
const int &r = temp;
所以给&r赋值,不会更改 ival . 而是更改了temp