非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;//错误