1、const int *p
比如:
int i = 0;
const int *p = &i;
*p = 100; //錯誤
cout << *p; //正確
總結:可讀不可寫。可以通過*p讀取i的值,但是不能通過*p改變i的值。
2、int *const p
比如:
int i1 = 0;
int i2 = 0;
int *const p = &i1;
p = &i2; //錯誤
*p = 100; //正確
總結:指針初始化之後的指向地址不可改變。上述代碼中p初始化爲指向i1的地址,不能修改爲指向i2的地址。可以通過*p修改i1的值。