一个 const variable 可以拷贝值给一个 nonconst varible 来初始化,却不能让 nonconst variable reference 绑定:
const int ci = 1024;
int r1 = ci; // ok!
int $r2 = ci; // error!
这样的关系看起来比较乱,其实不然。
因为 const variable 除了不能改变 value 外,操作和 nonconst variable 是一样的,所以可以拷贝 const value 给 nonconst variable;也因为 const variable 的值一旦确定就不能被改变,所以 non-const variable reference 不能绑定一个 const variable。
否则如果:
r2 = 2048;
那么 ci 应该是多少呢?1024 还是 2048?