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