在C++中,const 和 指针有三种,极易混淆,分别是 指向常量的指针、常量指针、指向常量的常量指针。
指向常量指针:要求不能通过该指针改变对象的值。
const int i = 42;
const int *p = &i;
常量指针:该指针的值不能发生变化,即将一直指向某个对象。
int i = 42;
int *const pp = &i;
指向常量的常量指针:则指针的值和指向对象的值都不能发生变化。
const int i = 42;
const int *const ppp = &i;