int main() { int l1 = 1; int l2 = 2; const int *p; //p的值不能变,但p指向的地址能够改变 int * const p1 = &l1; //p指向的地址不能改变,但p的值能够改变 p = &l1; //错误 //*p = l2; //正确 p = &l2; /*********/ //错误 //p1 = &l2; //正确 *p1 = 2; return 0; }
const int *p
const是修饰整个*p的,因此p的值是不能修改。p并无用const修饰,因此p的地址能够修改code
int * const p1
const修饰的是p1,因此p1的地址不能够改变。*p1并无被const修饰,因此p1的值是能够修改的class