如下两种定义方式,输出结果一样,那常量指针定义区别是什么?
const int *cp1=&j; int *const cp2=&j; cout << *cp1 << *cp2 <<endl; j=200; cout << *cp1 << *cp2 <<endl;
如下两种定义方式,输出结果一样,那常量指针定义区别是什么?
const int *cp1=&j; int *const cp2=&j; cout << *cp1 << *cp2 <<endl; j=200; cout << *cp1 << *cp2 <<endl;
第一个表示指针指向的数据不能修改,指针本身可以修改,即cp1 = &XXX; 而*cp1 = XXX;错误。
第二个与第一个刚好反过来,指针本身不能修改,但是可以修改指针指向的数据,即*cp1 = XXX;而cp1 = &XXX错误。