C++ const 与 nonconst 的简单关系

来源:互联网 发布:b超数据算胎儿体重公式 编辑:程序博客网 时间:2024/06/08 02:20

一个 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?