Pointers and const
Modifier const indicates whether it is the pointer itself or the value it points to that is constant.
int i = 7; const int * p = &i; // pointer to a constant int * const q = &i; // constant pointer *p = 8; // not allowed, p points to a const *q = 8; // allowed, q is pointing to non const p = q; // allowed, p itself is not constant q = p; // not allowed q is constant