1.把一个 const 对象的地址赋给一个普通的、非 const
对象的指针也会导致
编译时的错误:
const double pi = 3.14; double *ptr = π // error: ptr is a plain pointer const double *cptr = π // ok: cptr is a pointer to const
2.不能使用 void* 指针(第 4.2.2 节)保存 const 对象的地址,而必须使
用 const void* 类型的指针保存 const 对象的地址:
const int universe = 42; const void *cpv = &universe; // ok: cpv is const void *pv = &universe; // error: universe is const
3.允许把非 const 对象的地址赋给指向 const 对象的指针,不能修改其值
double dval = 3.14; // dval is a double; its value can be changed cptr = &dval; // ok: but can‘t change dval through cptr