When reading tutorials and code written in C++, I often stumble over the const keyword.
I see that it is used like the following:
const
Before a variable identifier, const indicates that the variable can be initialized and thereafter not modified.
After a class method name, const indicates that the method will not modify the observable state of the class. The mutable keyword allows internal data to be modified.
Before a pointer or reference variable, const indicates that the identifier will not be used to modify the referenced data, though it may be changed by other means.
const int *pInt = &x;
Const can also be used to indicate that the pointer itself cannot be modified:
int * const pInt = &x;