It means p points to an object of class Fred, but p can't be used to
change that Fred object (naturally p could also be NULL).
Read it right-to-left: "p is a pointer to a constant Fred."
For example, if class Fred has a const member
function called inspect(), saying p->inspect() is OK.
But if class Fred has a non-const member
function called mutate(), saying p->mutate() is an error
(the error is caught by the compiler; no run-time tests are done, which means
const doesn't slow your program down).