非const引用只能绑定到与该引用同类型的对象;
const引用可以绑定到不同但相关的类型的对象或绑定到右值。
以下的情况都是正确的:
1、
int i = 1;
int &refi1 = i;
const int &refi2 = i;//可以通过修改i的值,来改变refi2,反之则不可
const int &refi3 = 10;
const float &ref4 = i;
2、
const int i = 1;
const int &refi1 = i;//i和refi1都是不能改变的
以下的情况则是错误的:
1、
const int i = 1;
int &refi1 = i;//错误
int &refi2 = 10;//错误