//Example 1
const double pie = 3.14; //const object
const double *cptr = &pie; //pointer-to-const to const object
double *ptr = &pie; //ERROR - non-pointer-to-const to const object
//Example 2
double pie = 3.14; //non-const object
const double *cptr = &pie; //non-pointer-to-const to non-const object
double *ptr = &pie; //non-pointer-to-const to non-const object
最初我虽然允许指向非常量对象的常量指针,因为它只是意味着指向常量的指针不会改变非常量对象。
但是我刚刚在 c++ 书中读到,允许将指针指向非 const 对象的原因是因为指向 const 的指针无法真正知道它指向的对象是否是 const,所以它对待对象它指向 const 但按照相同的逻辑,非指向 const 的指针会将 const 对象视为非 const 对象,但编译器会在编译时抛出错误。
我在这里错过了什么吗?