我在书中有下一个例子
const int** pp2;
int* p1;
const int n = 13;
pp2 = &p1; // not allowed, but suppose it were
*pp2 = &n; // valid, both const, but sets p1 to point at n
*p1 = 10; // valid, but changes const n
但是,如果pp2是指向常量的指针,那么表达式* pp2 =&n如何有效? 最佳答案
pp2
是,而不是指向const的指针。它是指向const int的非常量指针。
这样,修改*pp2
(指向const int的非常量指针)没有问题。不允许的是修改const int的**pp2
。