1.指向常量的指针
int b = 3;
const int *p = &b;
可以指向常量和非常量,不能用于改变所指对象的值。
但可以通过其他途径改变指针对象的值。
int b = 3;
const int *p = &b;
//*b = 2; //error
int c = 2;
p = &c;
cout << *p << endl;
2.常量指针
int b = 3;
int *const p = &b;
常量指针必须初始化,一旦初始化,存放在指针中的地址就不能变了。
但可以改变地址中的内容。
int b = 3;
int *const p = &b;
int c = 2;
//p = &c; //error
*p = 2;
cout << *p << endl; //2