2. const指针
const指针本身的值不能修改。
int i = 5;
int *const p = &i;
const指针也必须在定义时初始化。
指针本身是const的事实并没有说明是否能使用该指针修改它所指向对象的值。指针所指向对象的值能否修改完全取决于该对象的类型。
int i = 5;
int *const p = &i;
*p = 4;
cout << *p << endl;
3. 指向const对象的const指针
既不能修改指向const对象的const指针所指向对象的值,也不能修改指向const对象的const指针的指向。
int i = 5;
const int *const p = &i;
4. 指针和typedef
typedef int *MyInt;
int n = 5;
MyInt const p = &n;
*p = 4;
cout << *p << endl;
p的正确定义应该为指向int类型的const指针。