当使用非 const 对象初始化 const 对象的引用时,系统将非 const 对象
转换为 const 对象。此外,还可以将非 const 对象的地址(或非 const 指针)
转换为指向相关 const 类型的指针:
int i;
const int ci = 0;
const int &j = i; // ok: convert non-const to reference to const int
转换为 const 对象。此外,还可以将非 const 对象的地址(或非 const 指针)
转换为指向相关 const 类型的指针:
int i;
const int ci = 0;
const int &j = i; // ok: convert non-const to reference to const int
const int *p = &ci; // ok: convert address of non-const to address of a const
虽然将非const对象转化为const对象,但是非const对象依然可以修改。
具体实现的方式还需要研究。